| |
|
|
- page 1 - |
|
Frank Abbing | je weiss, dass OpenGL keinen Schattenwurf bereitstellt. mais peut-être kennt oui quelqu'un une Possibilité, ombre possible simpel trop simulieren? |
|
|
| |
|
|
|
| |
|
- page 1 - |
|
| [quote-part:cbc2bf0039=Frank Abbing][quote-part:cbc2bf0039]on devrait um den ombre eines Objektes trop erzeugen cela objet aus sicht qui Lichquelle ablichten et sur qui Textur qui trop beschattenden Elemente poser [/quote-part:cbc2bf0039] Ebenso travailler oui Stencilschatten. seulement sommes qui Codes en supplément alle dans C++ et GLSL. peut-être peux oui quelqu'un avec C++-Kenntnissen la fois une Code ajuster, dass il avec Profan funktioniert. [...] [/quote-part:cbc2bf0039]Aha, lag je alors avec meiner Annahme garnicht so faux.
comment une OGL-Szene cependant comme bitmap abgelichtet wird um cela bitmap sur une Textur trop poser sais je cependant pas. |
|
|
| |
|
|
|
Frank Abbing | bof, pour ist plan qui Stencil gedacht. qui Code liegt oui aussi avant, seulement ist C++ pas mon Ding. ici la fois Teile des Codes dans Profan: KompilierenMarqueSéparation!ogl("glColorMask",~GL_FALSE, ~GL_FALSE, ~GL_FALSE, ~GL_FALSE)
Schreiben in den Depth-Buffer ausschalten code
ogl("glDepthMask",~GL_FALSE)
Stencil-Test einschalten, code
ogl("glEnable",~GL_STENCIL_TEST)
ogl("glStencilFunc",~GL_ALWAYS, 1, $FFFFFFF)
ogl("glStencilOp",~GL_KEEP, ~GL_KEEP, ~GL_INCR)
Face-Culling richtig einstellen code
ogl("glEnable",~GL_CULL_FACE)
ogl("glFrontFace",~GL_CCW)
Schatten-Volumen zeichnen
Stencil-Operation umstellen code
ogl("glStencilOp",~GL_KEEP, ~GL_KEEP, ~GL_DECR)
Face-Culling "umkehren" code
ogl("glFrontFace",~GL_CW)
Schatten Volumen noch einmal zeichnen
Face-Culling wieder "normal" einstellen code
ogl("glFrontFace",~GL_CCW)
Schreiben in den Color-Buffer wieder einschalten code
ogl("glColorMask",~GL_TRUE, ~GL_TRUE, ~GL_TRUE, ~GL_TRUE)
Nur dort zeichnen, wo der Stencil-Buffer ungleich 0 ist code
ogl("glStencilFunc",~GL_NOTEQUAL, 0, $FFFFFFFF)
Ein bildschirmfüllendes, halbtransparentes Quadrat zeichnen code
ogl("glColor4f",0.0, 0.0, 0.0, 0.3)
ogl("glEnable",~GL_BLEND)
ogl("glBlendFunc",~GL_SRC_ALPHA, ~GL_ONE_MINUS_SRC_ALPHA)
ogl("glPushMatrix")
ogl("glLoadIdentity")
ogl("glBegin",~GL_TRIANGLE_STRIP)
ogl("glVertex3f",-0.1f, 0.1f, -0.1f)
ogl("glVertex3f",-0.1f,-0.1f, -0.1f)
ogl("glVertex3f", 0.1f, 0.1f, -0.1f)
ogl("glVertex3f", 0.1f,-0.1f, -0.1f)
ogl("glEnd")
ogl("glPopMatrix")
"Normale" Einstellungen wiederherstellen code
ogl("glDepthMask",~GL_TRUE)
ogl("glDisable",~GL_ST TEST )
|
|
|
| |
|
|
|
Frank Abbing | [quote-part:6ebf3adeec]comment une OGL-Szene cependant comme bitmap abgelichtet wird...[/quote-part:6ebf3adeec] Ist pas nötig. Den Code habe je mais vorliegen: KompilierenMarqueSéparation |
|
|
| |
|
|
|
Martin Loga | [quote-part:345f09acf3]je weiss, dass OpenGL keinen Schattenwurf bereitstellt.[/quote-part:345f09acf3] c'est pas entier richtig, il y a OGL Extensions qui TextureShadowing soutien.
[quote-part:345f09acf3]Mittels Stencil Buffern devoir sich prima Echtzeitschatten bilden laisser[/quote-part:345f09acf3] c'est richtig, mais bevor son dans qui falsche direction arbeitet, solltet son überlegen quel ombre pour euch qui geeignetere ist.
[quote-part:345f09acf3]dans E3 2003 carmack said that hé used monsters and demons dans doom3 so that you fight a demon or two dans each room for some time instead of intering a room and hunt 10 characters because theres no hardware that can render a big no. of characters with espace their shadows and detail. alors carmak uses a model format MD5 that have a good trick.il contains 1 million normals and only 5000 vertices .this enables him to use le big no of normals to render le characters with very high detail and use le smaller no of vertices to calculate le shadow volume and collision detection and so on. this is why theres no screenshots for terrains dans doom3.il is impossible to render le shadow of le terrain using le shadow volume with such a big no of vertices used dans terrains dans modern game engines (unreal 2 for example renders 200000 triangles per frame reduces to 10000 using geomipmapping ).[/quote-part:345f09acf3] citation aus: [...]
j'ai selbst erfahrungen avec Stencilschatten gemacht et déjà ab 5.000 jusqu'à 10.000 Triangles et einem jittering de 6 ca sera tout chez weitem pas plus echtzeitfähig.
si son TextureShadows utilise ist qui Komplexität qui Geometrie völlig unerheblich. Un si cela bien implementiert wird, habe son aussi seulement wenige hässliche Kanten (Stichwort Multisampling).
Es gilt alors abzuwägen. Hohe Leistung ensuite TextureShadows ou bien bessere la qualité ensuite StencilShadows. c'est incidemment aussi qui Grund pourquoi alle neuen Jeux TextureShadows verwenden. |
|
|
| |
|
|
|
Frank Abbing | [quote-part:8e89c3951c][quote-part:8e89c3951c]je weiss, dass OpenGL keinen Schattenwurf bereitstellt.[/quote-part:8e89c3951c] c'est pas entier richtig, il y a OGL Extensions qui TextureShadowing soutien.[/quote-part:8e89c3951c] oui, ab Version 2.0. ensuite zumindest pas pour ältere Grafikkarten disponible.
[quote-part:8e89c3951c]j'ai selbst erfahrungen avec Stencilschatten gemacht...[/quote-part:8e89c3951c] Prima, dans quel Discours? Avez- du, du könntest un simples Beispiel dans Profan hinbekommen? peut-être un Quad, cela une ombre sur den Boden wirft?
[quote-part:8e89c3951c]...et déjà ab 5.000 jusqu'à 10.000 Triangles et einem jittering de 6 ca sera tout chez weitem pas plus echtzeitfähig.[/quote-part:8e89c3951c] eh bien. temps réel nécessaire on oui seulement pour Jeux. Pour grafische Präsentationen avec seulement wenigen Objekten sollte cela mais reichen.
[quote-part:8e89c3951c]si son TextureShadows utilise ist qui Komplexität qui Geometrie völlig unerheblich. Un si cela bien implementiert wird, habe son aussi seulement wenige hässliche Kanten (Stichwort Multisampling).
Es gilt alors abzuwägen. Hohe Leistung ensuite TextureShadows ou bien bessere la qualité ensuite StencilShadows. c'est incidemment aussi qui Grund pourquoi alle neuen Jeux TextureShadows verwenden.[/quote-part:8e89c3951c] dans mon cas ginge es mir plutôt um la qualité. Wäre wirklich prima, si du la fois un Beispiel apporter könntest.
M.Loga, entier frisch registriert. es du récente ici ou bien ists un Deckname eines Bekannten? |
|
|
| |
|
|
|
Martin Loga | [quote-part:14d0152280]Avez- du, du könntest un simples Beispiel dans Profan hinbekommen?[/quote-part:14d0152280] Tut mir leid mais j'ai keinerlei Erfahrung avec Profan seulement zum Thema OpenGL à sich peux je aider.
[quote-part:14d0152280]dans mon cas ginge es mir plutôt um la qualité. Wäre wirklich prima, si du la fois un Beispiel apporter könntest.[/quote-part:14d0152280] vois je un, j'étais d'abord de einem Spiel ausgegangen (seulement Spielen im tête )
[quote-part:14d0152280]M.Loga, entier frisch registriert. es du récente ici ou bien ists un Deckname eines Bekannten?[/quote-part:14d0152280] suis récente ici. ne...aucune Bekannter. je suis pas à Profan mais im allgemeinen à ordinateur Grafik intéressé. suis sur eure page gestoßen, weil aus diesem Fil un Link sur une Artikel meiner Webseite verwiesen hat (gamedev.de). |
|
|
| |
|
|
| |
|
- page 2 - |
|
|
Frank Abbing | [quote-part:6695799005]Tut mir leid mais j'ai keinerlei Erfahrung avec Profan seulement zum Thema OpenGL à sich peux je aider.[/quote-part:6695799005] tant pis... avec einem Assemblercode wäre mir mais aussi geholfen! seulement C++ peux je pas...
[quote-part:6695799005]suis récente ici. ne...aucune Bekannter. je suis pas à Profan mais im allgemeinen à ordinateur Grafik intéressé. suis sur eure page gestoßen, weil aus diesem Fil un Link sur une Artikel meiner Webseite verwiesen hat (gamedev.de).[/quote-part:6695799005] Ah, mon Link... la hâte wirklich une interessante page avec tollen Infos! Gefällt mir richtig bien. qui besagte Stencil-Kurs ist aussi prima gemacht, seulement qui Stelle avec dem Aufspannen eines Schattenvolumen c'est moi trop kurz geraten. Zumindest, si on den Quellcode en supplément pas richtig versteht. |
|
|
| |
|
|
|
Martin Loga | [quote-part:52e56être9e8]avec einem Assemblercode wäre mir mais aussi geholfen! [/quote-part:52e56être9e8] hmm ensuite jag doch cela beispiel Programme par den Deassembler
[quote-part:52e56être9e8]seulement qui Stelle avec dem Aufspannen eines Schattenvolumen c'est moi trop kurz geraten.[/quote-part:52e56être9e8] eh bien c'est im grunde entier simple. Zunächstmal muss du sicherstellen, dass cela ombre werfende objet seulement aus Dreiecken besteht, là ansonsten qui Programmieraufwand réglé zunimmt et qui Leistung schwindet. ensuite baust du dir une liste avec Nachbarschaften. chaque Dreieckt hat jusque 3 Nachbarn. cela fais du am besten seulement einmal, sofern sich deine Geometrie pas mochmal ändert. maintenant venez qui interessante partie. Du baust avec Aider qui Nachbarschaften une liste de Umrisskanten. ce sont espace celui-là Kanten à qui un Dreieck angrenzt cela zur caméra schaut et une cela de qui Camera wegschaut (ou bien simple keins angrenzt). cela fais du sur cela Skalarprodukt qui Flächennormalen qui Einzelnen Dreieckt avec dem Lichtvektor (un Vektor de Dreieck zur Lichtquelle). Ist es größer 0 schaut cela Dreieck weg, ist es kleiner 0 schaut es zur Lichtquelle. la hâte du espace cet Kanten extrapolierst du qui dazugehörenden Vertices sur den ?Fluchtlinien? weg de qui Lichtquelle. |
|
|
| |
|
|
|
Frank Abbing | merci! cela hilft mir sûrement déjà plus. là werd je encore un un peu avec herumbasteln. la fois voyons, si je es hinbekomme. si oui, schicke je dir den Code zum insérer dans den Kursus. |
|
|
| |
|
|
|
Jac de Lad | je peux oui la fois Dany fragen, qui beherrscht C++, C#, Delphi, Assembler...et OpenGL+DirectX. qui peux dir bestimmt aider (entweder il bastelt ne DLL ou bien erzeugt Source dans Profan ou bien quoi dans qui Art, vorausgesetzt il kanns!)
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 01.09.2006 ▲ |
|
|
|
|
Frank Abbing | Dany, häh? bien, ensuite mais s'il te plaît comme Assemblercode. avec C++/# c'est moi pas geholfen. |
|
|
| |
|
|
|
Jac de Lad | Daniel Hoffmann. Hatte sich avant un paire Wochen ici angemeldet et sa Kompressions-DLL avec Arithmetic Encoding angekündigt. malheureusement ist il encore pas wirklich weitergekommen, weil il pour qui Uni apprendre muss et maintenant un Praktikum pouvoir. Hat sich sur mon Anfrage hin aussi encore pas gemeldet, mais je halte euch sur dem Laufenden!
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 01.09.2006 ▲ |
|
|
|