| 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/ |
|