Faces von beiden Seiten belichten??



  • Möglichkeiten, die ich mir vorstelle:
    1. zwei Rects mit eigenen Normalen
    2. Ein rect, mit ohne Backfaceculling, aber zwei lichtquellen
    3. Vertex-Shader (frag mich nicht wie, aber für so Sachen sind die AFAIK da)



  • gut, werde mal bei den vertex shadern gucken.
    zu möglichlkeit 1:
    wie gesagt, etwas umständlich und bei vielen objekten/rects sicher zu performance lastig... man könnte doch aber auch das rect einfach zweimal rendern, beim zweiten mal jedoch die normalen zur anderen seite zeigen lassen. das ist aber bestimmt noch langsamer, da der vertexbuffer dann jedes mal vorm rendern gelockt werden muss, um die vertices mit den neuen normals "einzufüllen".
    zu 2: also wie gesagt, backface culling ist aus bei meinem test prog.
    aber wie meint ihr das mit der zweiten lichtquelle? wenn ich einfach ein zweites licht hinter das rect platziere, ist es doch das gleiche, als wenn ich die hintere seite auf die ursprüngliche lichtquelle richte, und in dieser situation sehe ich wie gesagt nichts (rect ist nicht beleuchtet). außerdem gibt es ja situationen, in denen ich nicht einfach noch ein licht einfügen kann, weil ich es einfach nicht will, und es nicht in die szene gehört.

    noch mal zum verständnis: ich will das rect nicht von beiden seiten beleuchten, ich will, dass das möglich ist. ich will, dass es korrekt beleuchtet wird, auch wenn es z.b. mit der rückseite zum licht steht.



  • Babbo schrieb:

    aber wie meint ihr das mit der zweiten lichtquelle? wenn ich einfach ein zweites licht hinter das rect platziere, ist es doch das gleiche, als wenn ich die hintere seite auf die ursprüngliche lichtquelle richte

    Na und? Ich denke genau das wolltest du? ("ich könnte natürlich das gleiche rect nochmal zur anderen seite zeigend rendern")

    Bye, TGGC



  • sorry, es ist vielleicht etwas kompliziert ausgedrückt.
    also, ich hatte eigentlich nicht vor, für jedes dieser objekte auch ein "backface" zu erstellen, natürlch ist das eine möglichkeit, aber ich wollte wissen, ob es auch eine andere gibt.
    noch etwas:
    das problem hierbei ist nicht das licht, natürlich, ein objekt beleuchte ich von zwei seiten, indem ich es von zwei lichtern bestrahlen lasse. das pproblem sind die normalen. die zeigen ja von einer seite des rects weg, sodatt die jeweits andere seite nicht (korrekt) beleuchtet werden kann.



  • Was hast du eigentlich gegen ein Backface? Ansonsten kannst du ja vielleicht mal vorbeleuchtete Punkte probieren.



  • nun, im grunde habe ic nichts dagegen, ich habe nur nach besseren methoden gesucht, da backfaces die zahl der polygone (zumindest bei primitives) drastisch erhöhen (um genau zu sein, verdoppeln), und ich dachte, dass das vielleicht bei vielen "primitives" (also nicht geladene objekte) sehr langsam sein würde...


  • Mod

    du kannst die normale für die generierung der texturcoordinaten benutzen, mit der richtigen matrix und textur könntest du eine zweiseitige beleuchtung simulieren...

    ich glaube sowas änliches gibt es auf der ati seite als sample, aber da mit pixelshadern weil die dort so polished metal simulieren, für die reine beleuchtung reicht ein dx7 chip vollkommen aus.

    rapso->greets();



  • Ist die Beleuchtung dann nicht eigentlich auf einer Seite falsch? Fällt mir grad so auf...



  • TGGC
    es gibt ja nur eine beleuchtung, das objekt dreht sich ja...
    @raspo
    ok, werde da mal schauen...
    ps: entschuldigt bitte die vielen "..."... 😉



  • Babbo schrieb:

    TGGC
    es gibt ja nur eine beleuchtung, das objekt dreht sich ja...

    Ja, aber wenn die Beleuchtung dann auf beiden Seiten gleich aussieht (sie soll ja mit "einmal" gezeichnet werden), dann ist sie doch auf mindestens einer Seite falsch.

    Bye, TGGC



  • "sie sol mit "einmal" gezeichnet werden"
    das verstehe ich nicht...
    aber natürlich hast du recht, die beleuchtung ist auf einer seite falsch, da die normalen ja nur zu einer seite zeigen. (ich denke zumindest, dass es daran liegt)



  • EDIT: Frage falsch verstanden.



  • Babbo schrieb:

    "sie sol mit "einmal" gezeichnet werden"
    das verstehe ich nicht...

    Na du weigerst dich doch die ganze Zeit, das Face einfach zweimal zu zeichnen.



  • axo, ja, stimmt, da ich mich frage, ob es nicht auch noch schnellere methoden gibt, aber anscheinend habe ich auf der suche nach denen keinen erfolg...


Anmelden zum Antworten