Pixeli



  • Hallo,

    ich rendere mit OpenGL ein Triangle -Netz mit normalen und setze
    die Materialeigenschaften wie unten dargestellt. Aus einiger Entfernug
    wirkt die Oberfläche biologisch und glänzend, nährt man sich mit der
    "Kamera", werden die Reflexionspunkte zu hässlichen Klecksen.

    Gibt es Einstellungen die dem entgegenwirken ?

    Bild 1 zeigt die Scene aus einer moderaten Entfernung:
    http://www.visiongrid.de/Bild1.jpg

    Bild 2 zeigt die Scene in Oberflächennähe:
    http://www.visiongrid.de/Bild2.jpg

    Vielen Dank für Hinweise
    gruß K.

    void CGLmaterial::Set(void)
    {
    	if(m_Transparence > 0)
    	{
          glEnable(GL_BLEND);
    	  glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
        }
    
    	glMaterialf(GL_FRONT,  GL_SHININESS,  m_Shine);   
    	glMaterialfv(GL_FRONT, GL_EMISSION ,  m_emit); 
        glMaterialfv(GL_FRONT, GL_AMBIENT,    m_amb);
        glMaterialfv(GL_FRONT, GL_DIFFUSE,    m_dif);
        glMaterialfv(GL_FRONT, GL_SPECULAR,   m_spe);
    }
    

    Lichtquelle ist abgestimmt.



  • Das Problem ist, dass die normale OpenGL Beleuchtung nur per Vertex berechnet wird. Mit per Pixel Lighting könnte man das evtl. etwas verbessern. Ich würde mir aber generell mal überlegen warum die Oberfläche dermaßen rau ist, wenn du doch offenbar eigentlich eine glatte Oberfläche willst? Du könntest zumindest nur die Normalen glätten, denn die bestimmen die Beleuchtung.



  • Okay vielen Dank, dachte es gäbe ein paar Schalter
    in GL die das fixen, muß ich weiter sehen.

    Gruß
    Karsten



  • Die Normalen berechnest du doch selbst, wie sollte OpenGL die für dich fixen? 😉


Anmelden zum Antworten