.[ ČeskéHry.cz ].
Shadery v C#
Jdi na stránku 1, 2  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
hybr1D



Založen: 02. 09. 2007
Příspěvky: 22

PříspěvekZaslal: 17. únor 2014, 22:27:50    Předmět: Shadery v C# Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
Deluxe



Založen: 31. 07. 2007
Příspěvky: 235
Bydliště: Oslavany

PříspěvekZaslal: 17. únor 2014, 23:19:14    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



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

PříspěvekZaslal: 18. únor 2014, 09:21:02    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
hybr1D



Založen: 02. 09. 2007
Příspěvky: 22

PříspěvekZaslal: 18. únor 2014, 09:59:40    Předmět: Odpovědět s citátem

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 Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



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

PříspěvekZaslal: 18. únor 2014, 10:28:26    Předmět: Odpovědět s citátem

Aj som si myslel, ze to musi byt nejaky typ krkolomneho zadania Very Happy

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? Smile Co teda uz mas? Pytaj sa konkretnejsie, poradime.

To OGL4NET vyzera pekne celkom, na prvy pohlad Smile
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
micky



Založen: 28. 02. 2008
Příspěvky: 348
Bydliště: Plzeň, Praha

PříspěvekZaslal: 18. únor 2014, 11:42:08    Předmět: Odpovědět s citátem

OpenGL4Net můžu jen doporučit, dělal jsem v tom jednu semestrálku v podstatě bez problémů... (autor se skrývá mezi členy tohoto fóra). Wink
_________________
https://www.bluepulsar.cz/
https://twitter.com/11thDream_Game/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
hybr1D



Založen: 02. 09. 2007
Příspěvky: 22

PříspěvekZaslal: 18. únor 2014, 13:40:31    Předmět: Odpovědět s citátem

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 Smile Nikde na nete som o tom nenašiel žiadnu zmienku (shadery v C#).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VODA



Založen: 29. 07. 2007
Příspěvky: 1721
Bydliště: Plzeň

PříspěvekZaslal: 18. únor 2014, 13:40:50    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
micky



Založen: 28. 02. 2008
Příspěvky: 348
Bydliště: Plzeň, Praha

PříspěvekZaslal: 18. únor 2014, 14:41:06    Předmět: Odpovědět s citátem

V referencích mám:



Shadery načítám pomocnými objekty:

kód:
Program phong = new Program("phong", File.ReadAllText("data/phong.vert"), File.ReadAllText("data/phong.frag"));

_________________
https://www.bluepulsar.cz/
https://twitter.com/11thDream_Game/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
hybr1D



Založen: 02. 09. 2007
Příspěvky: 22

PříspěvekZaslal: 18. únor 2014, 17:14:57    Předmět: Odpovědět s citátem

Tak skúsel som tú OpenGL4Net a vyzerá že to ide. Večer (po vyhratom hokeji) sa do toho riadne pustim Very Happy
Diki moc všetkým.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



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

PříspěvekZaslal: 19. únor 2014, 10:27:15    Předmět: Odpovědět s citátem

Tak ako to slo s tym vyhratym hokejom? Very Happy Very Happy
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
joeblack



Založen: 14. 09. 2009
Příspěvky: 66

PříspěvekZaslal: 19. únor 2014, 10:43:53    Předmět: Odpovědět s citátem

pcmaster napsal:
Tak ako to slo s tym vyhratym hokejom? Very Happy Very Happy

ved vyhrali Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
hybr1D



Založen: 02. 09. 2007
Příspěvky: 22

PříspěvekZaslal: 22. únor 2014, 15:31:23    Předmět: Odpovědět s citátem

No tak s tými shadermi to vypadá lepšie ako s tým našim hokejom Very Happy

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
hybr1D



Založen: 02. 09. 2007
Příspěvky: 22

PříspěvekZaslal: 23. únor 2014, 10:34:27    Předmět: Odpovědět s citátem

Tak už som prišiel na to, že sa s OpenGL4NEt pracuje inak ako s tým, čo som tam mal predtym Smile 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
Zobrazit informace o autorovi Odeslat soukromou zprávu
micky



Založen: 28. 02. 2008
Příspěvky: 348
Bydliště: Plzeň, Praha

PříspěvekZaslal: 23. únor 2014, 14:43:23    Předmět: Odpovědět s citátem

Podívej se kdyžtak na http://herakles.zcu.cz/education/zpg/navody_cs_opengl4Net.php, snad ti to k něčemu bude dobré. Obecně si musíš řídit tu vykreslovací smyčku (způsobů je více, bohužel ten nejlépe pojatý návod už jsem nenašel).
_________________
https://www.bluepulsar.cz/
https://twitter.com/11thDream_Game/
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 -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 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