Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
lubos
Založen: 10. 06. 2009 Příspěvky: 10
|
Zaslal: 10. červen 2009, 17:15:55 Předmět: Změna typu čar v Opengl |
|
|
Ahoj,
již delší dobu se snažím změnit typ čar ve VB používám pro vykreslování OpenGL ale at jsem zkoušel cokoliv nešlo to. Hledal sem i na webu ale nenašel jsem jediný zdroják kde by to ve VB bylo použito. Pokud by někdo věděl děkuji za jakoukoliv radu.
Luboš |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 10. červen 2009, 17:26:47 Předmět: |
|
|
Jsou 2 způsoby.
Pro nastavení čar se v OpenGL používá funkce glLineStipple. Nicméně je vysoce pravděpodobné, že pod kapotou se na čáru mapuje textura s průhledností a daným vzorkem. To je ten druhý způsob. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
lubos
Založen: 10. 06. 2009 Příspěvky: 10
|
Zaslal: 10. červen 2009, 17:30:27 Předmět: |
|
|
To jsem tak nějak zkoušel ale když zkusím
glLineStipple ( 1, 0XFFFF)
což by měla být tuším čárkovaná tak už v téhle fázi na mě VB řve že argument pro typ čáry 0xFFFF je špatně a at do argumentu zkusím napsat cokoliv tak to na mě řve. Už jsem z toho neštastnej. |
|
Návrat nahoru |
|
 |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 10. červen 2009, 17:37:01 Předmět: |
|
|
------
EDIT
Moje chyba, nejak jsem pozapomnel ze 1 byte = 8 bitu = 256 hodnot
GLbyte = char = 1 byte
GLshort = short int = 2 byty
GLint = int/long int = 4 byty
v cem by tedy mohl byt problem? OGL prece s disablovanou funkci chybu nehazi spis bych videl problem v zapisu(prece jenom, desitkova soustava je lidem blizsi) _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++.
Naposledy upravil if.then dne 10. červen 2009, 18:17:04, celkově upraveno 4 krát |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 10. červen 2009, 17:39:14 Předmět: |
|
|
nie to bude plna ciara kedze by to bolo vsetko bitove jednotky. skor napr 0xAAAA _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
lubos
Založen: 10. 06. 2009 Příspěvky: 10
|
Zaslal: 10. červen 2009, 18:15:15 Předmět: |
|
|
Právě že tohle vše jsem zkoušel, bud mi to hodnotu nevzalo nebo to byla jen plná čára. |
|
Návrat nahoru |
|
 |
johnnash
Založen: 30. 07. 2007 Příspěvky: 80
|
Zaslal: 10. červen 2009, 18:15:24 Předmět: |
|
|
glEnable (GL_LINE_STIPPLE); |
|
Návrat nahoru |
|
 |
lubos
Založen: 10. 06. 2009 Příspěvky: 10
|
|
Návrat nahoru |
|
 |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 10. červen 2009, 19:02:06 Předmět: |
|
|
Ozkoušet v desítkových. glLineStipple - mám dojem že na velkých písmenech záleží i v Basicu  _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
 |
posila
Založen: 29. 07. 2007 Příspěvky: 201
|
Zaslal: 10. červen 2009, 19:13:31 Předmět: |
|
|
Implementace Visual Basicu jsou většinou case insensitive.
Hexadecimální čísla mají prefix nikoliv 0x ale &H |
|
Návrat nahoru |
|
 |
lubos
Založen: 10. 06. 2009 Příspěvky: 10
|
Zaslal: 10. červen 2009, 19:29:39 Předmět: |
|
|
ani tohle nechodí
glLineStipple ( 1, &HFFFF) |
|
Návrat nahoru |
|
 |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 10. červen 2009, 19:34:57 Předmět: |
|
|
Ach jo... můj nápad o použití desítkové soustavy zřejmě nikdo nebere vážně  _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 10. červen 2009, 20:07:09 Předmět: |
|
|
if.then napsal: |
GLbyte = char = 1 byte
GLshort = short int = 2 byty
GLint = int/long int = 4 byty |
Špatně. V jazyce C++ specifikuje norma pouze toto: sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long). Na GCC x86_64 platí především: sizeof(int)==4, sizeof(long)==8. GL typy mají trochu jiná pravidla a nemusí přesně souhlasit se základními typy. A jsme přece ve VB, kde se ty základní typy jmenují jinak.
if.then napsal: |
v cem by tedy mohl byt problem? OGL prece s disablovanou funkci chybu nehazi  |
Špatně. GL vždy musí dát chybu při špatných parametrech nebo špatném použití bez ohledu na aktuální stavy.
if.then napsal: |
Ach jo... můj nápad o použití desítkové soustavy zřejmě nikdo nebere vážně  |
Uhodls. Desítková soustava je pro reprezentaci bitového pole asi nejhorší možnost.
2x měř, jednou řež.
Ostatní>
Trochu si představte, jak tam ty bity jsou uložený. F dá vždycky 1111, to je plná čára, takže FFFF je zase a jen plná čára. FF00 (1111111100000000) nebo 00FF (0000000011111111) udělá čárkovanou čáru. AAAA (1010101010101010) nebo 5555 (0101010101010101) udělá tečkovanou, pokud to neovlivníte prvním parametrem glLineStipple, atd.
Návod: Použijte kalkulačku ve win. Zvolte Bin, zadejte číslo, zvolte Hex. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
Weny Sky

Založen: 28. 07. 2007 Příspěvky: 241
|
Zaslal: 10. červen 2009, 20:18:48 Předmět: |
|
|
lubos napsal: |
ani tohle nechodí
glLineStipple ( 1, &HFFFF) |
a co toto :
kód: |
glLineStipple ( 1, CLng("&HFFFF")) |
|
|
Návrat nahoru |
|
 |
lubos
Založen: 10. 06. 2009 Příspěvky: 10
|
Zaslal: 10. červen 2009, 20:25:41 Předmět: |
|
|
Tak at tam napíšu cokoliv tak mi to inhned po dopsání hodí hlášku compile error : Expected =
zkoušel jsem
glLineStipple ( 1, &HAAAA)
glLineStipple ( 1, Clng(&HAAAA))
glLineStipple ( 1, Clng("&HAAAA"))
glLineStipple ( 1, &H5555)
glLineStipple ( 1, 5555)
glLineStipple ( 1, &HAAAA)
Kalkulačku použít umím to není problém, problém je že mi to nevezme žádnouhodnotu. Vim i jak to tam funguje ale at tam napíšu cokoliv v jakémkoliv tvaru ( bin, hec , dec tak to na mě řve compile error |
|
Návrat nahoru |
|
 |
|