Sign in to follow this  
T-mot

OpenGL Shadow Mapping lighting and material

Recommended Posts

Hi.. I create a shadow mapping project.. I using OpenGl and MFC C++ 2005. And in my project I using lighting and material from openGL library..and this is my code for light and materials. glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE); glEnable(GL_COLOR_MATERIAL); GLfloat spec[] = { 1.0f, 1.0f, 1.0f, 1.0f }; glMaterialfv(GL_FRONT,GL_SPECULAR, spec); glMaterialf(GL_FRONT,GL_SHININESS,5.0f); GLfloat ColAmbient[] = { 0.2f, 0.2f, 0.2f, 1.0f }; GLfloat ColDiffuse[] = { 0.8f, 0.8f, 0.8f, 1.0f }; GLfloat ColSpecular[] = { 1.0f, 1.0f, 1.0f, 1.0f }; glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ColAmbient); GLfloat PosisiLampu[] = { LampX_1,LampY_1,LampZ_1,1.0f }; glLightfv(GL_LIGHT0, GL_POSITION, PosisiLampu); glLightfv(GL_LIGHT0, GL_DIFFUSE, ColDiffuse); glLightfv(GL_LIGHT0, GL_SPECULAR, ColSpecular); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); That is my code for lighting and materials... And I already can make the shadow from object. But, the object that I render has a white color, not the natural color. So, if I input blue object, the result will be colored white. I think it cause from shininess. And I try to change the shininess value more bigger into 128, but it make the shadow cannot show because too dark. I confuse for changing the material or lighting value.. What is the mistake, so all my object not white after the render process. Is maybe because of value of ambient, diffuse, specular, or shininess?? What is the default value for each light and material in real world?? Thanx

Share this post


Link to post
Share on other sites
hey

Hmm, it's quite hard to identify the problem from what you have posted. It would be more helpful if you at the least included your render loop code.

I'd make sure ya light isn't positioned to close to the object? But I dunno.

Hmm, are you using any vert/frag shaders? if you are then maybe you need to check on those, or switch back to the default/regular pipeline.

Anyhows I think the defaults should be used if you don't set them, so try comment out your calls to set GL_DIFFUSE and GL_SPECULAR (assuming they haven't been set prior). But you can checkout the defaults here or here.

cya

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this