|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
06.09.2009, 17:34 | #1 |
Форумчанин
Регистрация: 05.05.2009
Сообщений: 146
|
opengl
помогите, Я изучаю OpenGL и столкнулся с такой проблемой: Рисую точки в виде спмрали И при запуске VC++2005 ошибок не выдаёт (т.е. Build: 0 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========) а запускаемое окно, в котором должна быть точки зависат и выдаёт ошибку "Run-Time Check Failure #3 - The variable 'xRot' is being inititialized" т.е. у меня не инициализована матрица хотя я делаю
glPopMatrix(); сам алгоритм вот: #include "windows.h" #include "gl/gl.h" #include <gl\glut.h> #include <math.h> #define GL_PI 3.1415f //создаём состояние визуализации void SetupRC() { //Чёрный фон glClearColor(0.0f,0.0f, 0.0f, 1.0f); //Цвет рисования выбираеться зелёным glColor3f(0.0f, 1.0f, 0.0f); } //вызываеться процедура рисования сцены void RenderScene(void) { GLfloat x,y,z,angle; //Здесь храняться координыты и углы GLfloat xRot, yRot; // - ВОТ этого в книге вообще нет //окно очищаеться текущим цветом очистки (Очистка буфера цвета) glClear(GL_COLOR_BUFFER_BIT); //Записываем состояние маприцы и выполняем поворот glPushMatrix(); GLfloat xRot, yRot; // - ВОТ этого в книге вообще нет glRotatef(xRot, 1.0f, 0.0f, 0.0f); glRotatef(yRot, 0.0f, 1.0f, 0.0f); //Вызываем один раз для всех оставшихся точек { glBegin(GL_POINTS); z = -50.0f; for(angle = 0.0f; angle <= (2.0f*GL_PI)*3.0f; angle += 0.1f) { x = 50.0f*sin(angle); y = 50.0f * cos(angle); //Задаёт точку и нмного смещает значение z glVertex3f(x,y,z); z += 0.5f; } //Рисуем точку glEnd();} //Восстанавливаем преобразование glPopMatrix(); //Очищаем стек команд рисования glFlush(); } } /////////////////////////////////////////////////////////////////////////// //вызывается библиотекой GLUT при изменении размера окна void ChangeSize(GLsizei w, GLsizei h) { GLfloat nRange = 100.0f;//переменная //Предотвращаем еление на ноль if(h==0) h=1; //Устанавливаем поле просмотра с размерами окна glViewport(0,0,w,h); //Обновляет систему координат glMatrixMode(GL_PROJECTION); glLoadIdentity(); //С помощью плоскостей отсечения (левая, прав,нижняя,верхняя,ближняя,дальняя )устанав-ем объём отсичения nRange = (GLfloat)w / (GLfloat)h; if (w <= h) glOrtho (-nRange, nRange, -nRange*h/w, nRange*h/w, -nRange, nRange); else glOrtho (-nRange*w/h, nRange*w/h, -nRange, nRange, -nRange, nRange); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } ////////////////////////////////////////////////////////////////////////////////////////////////////// //Точка входа основной программы void main(void) { glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); glutCreateWindow("Simple"); glutDisplayFunc(RenderScene); glutReshapeFunc(ChangeSize); SetupRC(); glutMainLoop(); } И ещё выдаёт 1>------ Build started: Project: 3dproject, Configuration: Debug Win32 ------ 1>Compiling... 1>3dproject.cpp 1>c:\documents and settings\zhih\рабочий стол\программы\3dproject\3dproject\ 3dproject.cpp(37) : warning C4700: uninitialized local variable 'xRot' used 1>c:\documents and settings\zhih\рабочий стол\программы\3dproject\3dproject\ 3dproject.cpp(38) : warning C4700: uninitialized local variable 'yRot' used 1>Linking... 1>Embedding manifest... 1>Build log was saved at "file://c:\Documents and Settings\ZHIH\Рабочий стол\ПРОГРАММЫ\3dproject\3dproject\ Debug\BuildLog.htm" 1>3dproject - 0 error(s), 2 warning(s) ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== т.е. не нравиться xRot и yRot. Не знаю что делать. Если кто-нибудь знает - напишите. Запание спасибо. |
06.09.2009, 17:39 | #2 |
Форумчанин
Регистрация: 05.05.2009
Сообщений: 146
|
Я извеняю "GLfloat xRot, yRot; // - ВОТ этого в книге вообще нет" Написано ОДИН раз под GLfloat x,y,z,angle;
|
10.10.2013, 15:02 | #3 | |
Форумчанин
Регистрация: 10.10.2013
Сообщений: 150
|
Цитата:
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
3D и OpenGl | Dj_smart | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 12 | 29.10.2017 11:31 |
OpenGl | Freer | Помощь студентам | 1 | 25.05.2009 17:57 |
OpenGL | yanl | Компьютерное железо | 0 | 16.11.2008 00:52 |
OpenGL | Witaliy | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 1 | 01.05.2008 21:05 |
OpenGL | prizrak1390 | Свободное общение | 2 | 07.04.2008 13:43 |