PMG
http://forum.pmg.org.ru/

glmDraw() в Win API программе.
http://forum.pmg.org.ru/viewtopic.php?f=1&t=6702
Страница 1 из 1

Автор:  kurlyak [ 19 сен 2008 15:04 ]
Заголовок сообщения:  glmDraw() в Win API программе.

Я пишу программу на Win API С++ пользуясь Visual C++ 6.0. Переделал урок NeHe номер 10, добавил модель 3D, но 3D модель машины (порше) у меня не выводиться как надо. Я рисую в этом уроке просто пол, пару деревьев, и по центру машину. Машина в центре поля выводиться абсолютно белым цветом без раскраски ее как и должно быть, которая храниться в файле машины и в файле ее материалов obj, mtl. Но у меня есть программа на Glut- я тоже вывожу машину в центре экрана- машина выводиться. Почему в Glut программе машина прорисовываеться цветная, как и была нарисована в 3D Studio Max, а в моей Win API программе- глюк. Так же добавлю, я раньше до этого возился с моделью, и она у меня не отображалась как следует, пока я в Glut программу не добавил свет над моделью. В Win API я тоже добавил свет- но машина белая, видно только ее очертания, вся она залита белым цветом. Я пробывал менять параметры света (диффуцию-интенсивность, позицию источника), но все зря. Кто знает, подскажите. Вот код:

delete

Автор:  MagicWolf [ 19 сен 2008 16:53 ]
Заголовок сообщения:  Re: glmDraw() в Win API программе.

Лучше скинь оба проекта в архивах, например на slil.ru.

Автор:  kurlyak [ 19 сен 2008 20:27 ]
Заголовок сообщения:  Re: glmDraw() в Win API программе.

Адрес обоих проектов : http://gettyfile.com.ua/208856/ или: http://slil.ru/26161704. Добавляю- свет сделал. Свет для модели надо делать таким (что бы не было GL_LIGHT0):
Код:
GLfloat LightAmbient[]=   { 0.5f, 0.5f, 0.5f, 1.0f };
GLfloat LightDiffuse[]=   { 1.0f, 1.0f, 1.0f, 1.0f };
GLfloat LightPosition[]=   { 0.0f, 10.0f, 2.0f, 1.0f };

glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);
glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse);   
glLightfv(GL_LIGHT1, GL_POSITION,LightPosition);
   
   glEnable(GL_LIGHT1);
   glEnable(GL_LIGHTING);

   glDisable(GL_TEXTURE_2D);

   glPushMatrix();

   glDisable(GL_TEXTURE_2D);
   glScalef(0.2,0.2,0.2);
   glTranslatef(0.0, -1.5, 0.0);
   glRotatef(180, 0.0,1.0,0.0);
   glmDraw(pmodel, GLM_SMOOTH | GLM_MATERIAL);

   glPopMatrix();
   glEnable(GL_TEXTURE_2D);      

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/