.[ ČeskéHry.cz ].
Změna typu čar v Opengl
Jdi na stránku Předchozí  1, 2
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Visual Basic (6.0)
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
lubos



Založen: 10. 06. 2009
Příspěvky: 10

PříspěvekZaslal: 10. červen 2009, 20:35:27    Předmět: Odpovědět s citátem

tak pokrok sežralo mi to
glLineStipple ( 1), &HAAAA


Glvertex3f 10,10,10
Glvertex3f 100,100,100


ale neni znát žádný rozdíl
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
if.then



Založen: 13. 04. 2008
Příspěvky: 579

PříspěvekZaslal: 10. červen 2009, 20:36:28    Předmět: Odpovědět s citátem

Eosie>
1) vychazel jsem z "nepsaneho" standardu, ktery se "vetsinou" dodrzuje. Samozrejme, ze to mozna bude nekde implementovano jinak, tato implementace je "nepsane" standartni.
2)Omlouvam se za terminologii, "chybou" jsem myslel fatalni vyjimku, samozrejme, ze nefatalni OGL "vyjimky" nejsou pro projekt to prave, nicmene zkompilovat a spusit by to melo jit...
3)Alespon by se zjistilo, zda je problem v zapisu hexa hodnot nebo jinde... Jak jsi i ty napsal, ani hex neni to "nej", tak proc si ztrpcovat zivot a nezapsat to v dvojkove soustave (uf, doufam, ze se to v Basicu nejak da Very Happy )
_________________
For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
johnnash



Založen: 30. 07. 2007
Příspěvky: 80

PříspěvekZaslal: 10. červen 2009, 21:02:41    Předmět: Odpovědět s citátem

Postni radsi celej kod, ten kod v http://www.htronik.eu/zaloha/a.JPG vypada divoce.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
lubos



Založen: 10. 06. 2009
Příspěvky: 10

PříspěvekZaslal: 10. červen 2009, 21:15:32    Předmět: Odpovědět s citátem

je to funkce která mi vykresluje rastr pracovního prostoru
( dělám program pro CNC frézku)
Celý kod je docela velký a má pár dll knihoven, jen těžko bych ho někam nahrával, taky nesem zkušený programátor ( učím se za pochodu a tak kod obsahuje množství kodu navíc, optimalizaci udělám až to nějak rozchodím)




Function rastr(show As Boolean)
Dim i, j As Double
If show = True Then
glBegin (GL_LINES)
glEnable (gl_Line_stipple)
glLineStipple (3000), &H5555
For j = 0 To mvarrozmeryStrojeY Step roztec
glBegin (GL_LINES)
glColor3ub 24, 18, 252
glVertex3f 0, j, 0
glVertex3f mvarrozmeryStrojeX, j, 0
Next j
For i = 0 To mvarrozmeryStrojeX Step roztec
glVertex3f i, 0, 0
glVertex3f i, mvarrozmeryStrojeY, 0
Next i
glEnd
Else
End If
glDisable (gl_Line_stipple)
End Function
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 10. červen 2009, 21:24:43    Předmět: Odpovědět s citátem

if.then napsal:
Eosie>
1) vychazel jsem z "nepsaneho" standardu, ktery se "vetsinou" dodrzuje. Samozrejme, ze to mozna bude nekde implementovano jinak, tato implementace je "nepsane" standartni.
2)Omlouvam se za terminologii, "chybou" jsem myslel fatalni vyjimku, samozrejme, ze nefatalni OGL "vyjimky" nejsou pro projekt to prave, nicmene zkompilovat a spusit by to melo jit...
3)Alespon by se zjistilo, zda je problem v zapisu hexa hodnot nebo jinde... Jak jsi i ty napsal, ani hex neni to "nej", tak proc si ztrpcovat zivot a nezapsat to v dvojkove soustave (uf, doufam, ze se to v Basicu nejak da Very Happy )

Ad 1) Nepsaný standard není a nikdy nebyl. Compilery si to řeší po svém a ne vždy stejně. Je 5 celočíselných typů a hardware umí 4, takže existuje celkem 5 isotonních surjektivních zobrazení. Wink int měl kdysi 2 bajty, teď má 4 bajty. long má 4 bajty, ale na některých x86_64 compilerech má 8 bajtů. S jistotou se dá použít akorát __int64 na VC++ nebo int64_t na GCC, podobně pro jiné varianty.
Ad 2 a 3: OK.

lubos napsal:
Function rastr(show As Boolean)
Dim i, j As Double
If show = True Then
glBegin (GL_LINES)
glEnable (gl_Line_stipple)
glLineStipple (3000), &H5555
For j = 0 To mvarrozmeryStrojeY Step roztec
glBegin (GL_LINES)
glColor3ub 24, 18, 252
glVertex3f 0, j, 0
glVertex3f mvarrozmeryStrojeX, j, 0
Next j
For i = 0 To mvarrozmeryStrojeX Step roztec
glVertex3f i, 0, 0
glVertex3f i, mvarrozmeryStrojeY, 0
Next i
glEnd
Else
End If
glDisable (gl_Line_stipple)
End Function


2x glBegin po sobě je chyba. glLineStipple nelze volat mezi glBegin a glEnd, stejně jako glEnable.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 10. červen 2009, 21:28:07    Předmět: Odpovědět s citátem

och zase menenie stavu OpenGL medzi glBegin() glEnd(). toto by malo byt v kazdom tutorialy o OpenGL ze tam moze byt len funkcie defunujce data jednotlivich primitiv. teda glVertex glNormal glColor a podobne. ziadne glEnable glBind* a vsetko ostatne.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
lubos



Založen: 10. 06. 2009
Příspěvky: 10

PříspěvekZaslal: 10. červen 2009, 21:32:48    Předmět: Odpovědět s citátem

tak je to vyřešené chodí to když to napíšu takhle
glLineStipple (3000), &H5555
jo jo to první glbegin sem tam zapomněl smazat.
Dík za rady
Ještě jeden dotázek, máte někdo zkušenost se zjištováním polohy myši v okně?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 10. červen 2009, 21:45:15    Předmět: Odpovědět s citátem

to je zalezistost okenneho api. v OpenGL sa da pre dane x,y suradnice v okne zistit x,y,z pozicia v scene a naopak. cez gluProject() a gluUnProject()
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Visual Basic (6.0) Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2
Strana 2 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna