Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
frca
Založen: 28. 07. 2007 Příspěvky: 1553
|
Zaslal: 20. červen 2012, 22:18:34 Předmět: |
|
|
Tak teď jsem v podobné situaci jako VODA. Mám za sebou státnice (konkrétně FIT VUT Ing.), takže chvíli oraz a pak naplno do vývoje MultiRacera 2. _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1553
|
Zaslal: 11. únor 2013, 22:30:09 Předmět: |
|
|
Splnil jsem si sen a konečně dokončil alpha verzi minimalistického wrapperu nad OpenGL a DirectX, viz screenshoty z testovací scény:
A zároveň mám dotaz. Scény jsou jakoby posunuté o nějakého půl pixelu. Jak to zařídit, aby to bylo podle možnosti pixel perfect? Nejraději bych bral OpenGL verzi za základ a přizpůsobil tomu DirectX verzi. _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
|
nou
Založen: 28. 07. 2007 Příspěvky: 1047
|
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1553
|
Zaslal: 12. únor 2013, 20:32:05 Předmět: |
|
|
Ten článek jsem viděl, ale jaksi z něj nejsem moudrý, jakým způsobem přepočítat homogenní souřadnice v hlsl shaderu (nějak by to mělo jít, ne?). _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1553
|
Zaslal: 12. únor 2013, 20:47:15 Předmět: |
|
|
Tak jsem na to přišel, pozice se přepočítá takto:
kód: |
position += float4(-1/widthInPixels*position.w, 1/heightInPixels*position.w, 0, 0); |
_________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1553
|
Zaslal: 23. únor 2013, 20:15:48 Předmět: |
|
|
Vyrobil jsem testovací demo: http://franticware.com/files/test.7z
Je tam windows 32-bit verze pro DirectX 9.0c a OpenGL 3.3.
Dále je tam linuxová 64-bit verze (OpenGL 3.3).
Výsledek po spuštění by měl vypadat takto (většina pixelů by měla být identická napříč verzemi):
Ovládání:
Pohyb: WSAD, PageUp, PageDown, myš (levé tlačítko zachytí, pravé uvolní myš v okně)
F12 udělá screenshot
T spustí animaci ohně a zeměkoule
Parametr -f spouští aplikaci ve fullscreenu (pro windows jsou ve složce nachystané baťáky). _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
|
nou
Založen: 28. 07. 2007 Příspěvky: 1047
|
Zaslal: 23. únor 2013, 21:55:49 Předmět: |
|
|
linux verzia funguje. jediny problem je ze nevidim ten farebny polygon dole vlavo. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1553
|
Zaslal: 23. únor 2013, 22:18:32 Předmět: |
|
|
Pošleš mi pls log? Mohla by to být chyba kompilace GLSL shaderu. _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
|
nou
Založen: 28. 07. 2007 Příspěvky: 1047
|
Zaslal: 23. únor 2013, 23:13:54 Předmět: |
|
|
prehnal som to s gdebugger a nehodil ziadny error.
kód: |
Platform: Linux x64/OpenGL
../frengine/main.cpp:230: SDL Error: glxSwapIntervalEXT failed
GL_VENDOR: ATI Technologies Inc.
GL_RENDERER: AMD Radeon HD 6310 Graphics
GL_VERSION: 3.3.11931 Core Profile Forward-Compatible/Debug Context
GL_SHADING_LANGUAGE_VERSION: 4.20 |
_________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1553
|
Zaslal: 23. únor 2013, 23:24:49 Předmět: |
|
|
To je kompletní log? Na konci by to mělo hlásit ještě
kód: |
Deleting OpenGL context
Destroying SDL window |
a mezi tím fps.
Abych to odladil, tak si asi budu muset pořídit nějaký stroj s AMD grafikou _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 24. únor 2013, 00:27:08 Předmět: |
|
|
Je OpenGL 3.3 vyžadováno pro spuštení? _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1553
|
Zaslal: 24. únor 2013, 01:11:08 Předmět: |
|
|
Ano, konkrétně 3.3 core, bez něj se program hned ukončí. _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
|
Spytihněv
Založen: 05. 04. 2011 Příspěvky: 543 Bydliště: Praha
|
Zaslal: 24. únor 2013, 07:39:18 Předmět: |
|
|
windows verze fungují, dx 1000 fps, gl 500 fps
V gl logu:
kód: |
..\frengine\frbase\frengine.cpp:1010: GL Error: GL_INVALID_ENUM
..\frengine\frbase\frengine.cpp:1010: GL Error: GL_INVALID_OPERATION
..\frengine\frbase\frengine.cpp:69: GL Error: GL_INVALID_OPERATION
|
|
|
Návrat nahoru |
|
|
nou
Založen: 28. 07. 2007 Příspěvky: 1047
|
Zaslal: 24. únor 2013, 14:01:43 Předmět: |
|
|
skusil som novsie ovladace uz ten polygon zobrazuje.
kód: |
Platform: Linux x64/OpenGL
../frengine/main.cpp:230: SDL Error: glxSwapIntervalEXT failed
GL_VENDOR: ATI Technologies Inc.
GL_RENDERER: ATI Radeon HD 5800 Series
GL_VERSION: 3.3.12172 Core Profile Forward-Compatible Context 12.10.17
GL_SHADING_LANGUAGE_VERSION: 4.20
920.442261 fps
968.033752 fps
Deleting OpenGL context
Destroying SDL window
|
_________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1553
|
Zaslal: 24. únor 2013, 15:48:15 Předmět: |
|
|
Malý update - opravy logování: http://franticware.com/files/test1.7z
Přidal jsem i 32bit linuxový build.
Spytihněve, prosím, kdybys byl tak hodný a spustil to ještě jednou, protože předtím jsem u některých GL funkcí chyby zapomněl logovat, a tak nevím, k čemu se chyby v tvém logu vztahují.
Jinak obecně by se hodily kompletní logy (třeba přes http://pastebin.com/) i v případě funkčnosti, protože v DirectX pro vykreslování bodů používám metodu, která by podle msdn neměla fungovat. Tzn. i informace o tom, že to někde jede bezchybně, je z tohoto pohledu cenná. Ale samozřejmě jsem vděčný za jakýkoli ohlas, takže díky všem _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
|
|