Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
hybr1D
Založen: 02. 09. 2007 Příspěvky: 22
|
Zaslal: 17. únor 2014, 22:27:50 Předmět: Shadery v C# |
|
|
Zdravím.
Mám asi banálnu otázku, ale ako mám začať so Shadermi v C#? Našiel som vela tutoriálov o shaderoch ale nikde nepíšu, ako ich mám "includnuť" v C#. Prosím vás, čo mám dať do refernecii alebo ako proste dostať GLSL do C#?
Ďakujem. |
|
Návrat nahoru |
|
|
Deluxe
Založen: 31. 07. 2007 Příspěvky: 235 Bydliště: Oslavany
|
Zaslal: 17. únor 2014, 23:19:14 Předmět: |
|
|
No, předpokládám, že je ti jasný, že musíš prostě vytvořit OpenGL context atd. (celou OpenGL aplikaci) pod C#. Takže to co chceš bude asi "binding" OpenGL -> .NET/C#.
Takže asi něco jako: http://www.opentk.com/ - tuším, že už se nevyvíjí.
http://sourceforge.net/projects/ogl4net/ - neznám.
Nebo nějakou knihovnu na vyšší úrovni (tady o ničem nevím, ale odhadl bych, že něco bude).
Nebo případně pokud ti jde jen o shadery, tak můžeš zkusit DirectX/XNA (tady samozřejmě půjde o HLSL a ne GLSL).
http://slimdx.org/ - DirectX wrapper, jako OpenTK pro OpenGL
http://msdn.microsoft.com/en-us/aa937791.aspx - vyší úroveň SDK/Framework |
|
Návrat nahoru |
|
|
pcmaster
Založen: 28. 07. 2007 Příspěvky: 1824
|
Zaslal: 18. únor 2014, 09:21:02 Předmět: |
|
|
hybr1d: Preco chces konkretne OpenGL pod konkretne C#? Mas na to nejaky dovod? Samozrejme, ide to, napriklad pomocou toho historickeho OpenTK, ale... naco? _________________ Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est. |
|
Návrat nahoru |
|
|
hybr1D
Založen: 02. 09. 2007 Příspěvky: 22
|
Zaslal: 18. únor 2014, 09:59:40 Předmět: |
|
|
No píšem diplomovú prácu a začal som ju robiť v C# v openGL. A kedže som C# nepoznal, povedal som si, že to budem robiť v tom a aspon sa ho naučím (a tak isto aj openGL). A teraz tesne pred koncom mi veduci povedal, aby som tam použil shadre, takže asi tak |
|
Návrat nahoru |
|
|
pcmaster
Založen: 28. 07. 2007 Příspěvky: 1824
|
Zaslal: 18. únor 2014, 10:28:26 Předmět: |
|
|
Aj som si myslel, ze to musi byt nejaky typ krkolomneho zadania
No tak ak ti uz teda beha OpenGL, tak nemas problem volat funkcie so shadermi, nie? Ak vies zavolat glBindTexture, tak vies zavolat aj glCompileShader, nie? Co teda uz mas? Pytaj sa konkretnejsie, poradime.
To OGL4NET vyzera pekne celkom, na prvy pohlad _________________ Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est. |
|
Návrat nahoru |
|
|
micky
Založen: 28. 02. 2008 Příspěvky: 348 Bydliště: Plzeň, Praha
|
|
Návrat nahoru |
|
|
hybr1D
Založen: 02. 09. 2007 Příspěvky: 22
|
Zaslal: 18. únor 2014, 13:40:31 Předmět: |
|
|
No robí mi to to, že keď dám trebars GL.CompileShader tak píše: CSGL.OpenGL.GL does not contain a definition for CompileShader a počiarkne červeno ako by to vobec nepoznalo. V referenciach mam csgl.dll a aj v hlavičke using CsGL.OpenGL. OpenGL mi ide v pohode, aj to pekne všetko vykresluje ale ked chcem použiť shadere tak to akosi nepozna. Tak neviem, či som zabudol dať čosi do referencii alebo niečo nastaviť treba alebo čo Nikde na nete som o tom nenašiel žiadnu zmienku (shadery v C#). |
|
Návrat nahoru |
|
|
VODA
Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 18. únor 2014, 13:40:50 Předmět: |
|
|
Rovněž mohu doporučit OpenGL4Net, jede na tom moje bakalářka a kdykoliv chci dělat 3D pod C#, tak po této knihovně velice rád šáhnu. _________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
|
micky
Založen: 28. 02. 2008 Příspěvky: 348 Bydliště: Plzeň, Praha
|
|
Návrat nahoru |
|
|
hybr1D
Založen: 02. 09. 2007 Příspěvky: 22
|
Zaslal: 18. únor 2014, 17:14:57 Předmět: |
|
|
Tak skúsel som tú OpenGL4Net a vyzerá že to ide. Večer (po vyhratom hokeji) sa do toho riadne pustim
Diki moc všetkým. |
|
Návrat nahoru |
|
|
pcmaster
Založen: 28. 07. 2007 Příspěvky: 1824
|
Zaslal: 19. únor 2014, 10:27:15 Předmět: |
|
|
Tak ako to slo s tym vyhratym hokejom? _________________ Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est. |
|
Návrat nahoru |
|
|
joeblack
Založen: 14. 09. 2009 Příspěvky: 66
|
Zaslal: 19. únor 2014, 10:43:53 Předmět: |
|
|
pcmaster napsal: |
Tak ako to slo s tym vyhratym hokejom? |
ved vyhrali |
|
Návrat nahoru |
|
|
hybr1D
Založen: 02. 09. 2007 Příspěvky: 22
|
Zaslal: 22. únor 2014, 15:31:23 Předmět: |
|
|
No tak s tými shadermi to vypadá lepšie ako s tým našim hokejom
Ale narazil som na problém. Chcel som presedlať z CsGL.openGL na openGL4NET. V starom openGL som mal triedu, ktorá dedila od OpenGLControl a teda mala nejaké eventy (mám ju ako hlavnú triedu, v ktorej sa všetko vykresluje). Ako mám niečo podobné urobiť s OpenGL4NET, keď som tam nič podobné OpenGLControl nenašiel.
Ďakujem. |
|
Návrat nahoru |
|
|
hybr1D
Založen: 02. 09. 2007 Příspěvky: 22
|
Zaslal: 23. únor 2014, 10:34:27 Předmět: |
|
|
Tak už som prišiel na to, že sa s OpenGL4NEt pracuje inak ako s tým, čo som tam mal predtym Mohol by mi prosím niekto zhruba popísať, ako na to? Momentálne som v takom štádiu, že mám vytvorený formulár a naň chcem zobrazovať to openGL. Robím mi to to, že to síce vykreslí čo má, ale len asi na pol sekundy hneď po spustení formulára a hned to zmizne a formulár je klasický, akoby sa naň vôbec openGL nevyjreslovalo. Keď následne chcem niečo prekresliť, už nevykreslí nič (ani na pol sekundy).
V konštruktéri formulára si vytváram Render Context:
DATA.RenderContext = RenderingContext.CreateContext(this);
Vždy keď chcem prekresliť scénu, volám funkciu glDraw, v ktorej sa všetko vykresluje. Po vygreslení volám: DATA.RenderContext.SwapBuffers(); ale nič sa nestane a formulár ostane prázdny.
Neviete prosím, kde robím chybu?
Ďakujem. |
|
Návrat nahoru |
|
|
micky
Založen: 28. 02. 2008 Příspěvky: 348 Bydliště: Plzeň, Praha
|
|
Návrat nahoru |
|
|
|