Модераторы: Rickert, Alexeis, BorisVorontsov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с примитивом 
:(
    Опции темы
Salatovec
Дата 7.11.2008, 01:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



Помогите люди добрые, значитс есть такой код:
Код

#include < GL\glut.h > 
#include < GL\gl.h >
#include < GL\glaux.h >
#include < windows.h >

static HGLRC hRC;
static HDC hDC;

bool  keys[256];
      
double angX=0.0,angY=0.0,angZ=0.0;

void Display( void )
{ 
Case1:
        
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        glLoadIdentity();

        glRotatef(angX,1.0f,0.0f,0.0f);
        glRotatef(angY,0.0f,1.0f,0.0f);
        
       glBegin( GL_QUADS );
        glColor3f(0.0f,1.0f,0.0f);              
        glVertex3f( 0.2f, 0.2f,-0.2f);         
        glVertex3f(-0.2f, 0.2f,-0.2f);          
        glVertex3f(-0.2f, 0.2f, 0.2f);          
        glVertex3f( 0.2f, 0.2f, 0.2f);         

        glColor3f(1.0f,0.5f,0.0f);             
        glVertex3f( 0.2f,-0.2f, 0.2f);        
        glVertex3f(-0.2f,-0.2f, 0.2f);          
        glVertex3f(-0.2f,-0.2f,-0.2f);         
        glVertex3f( 0.2f,-0.2f,-0.2f);         

        glColor3f(1.0f,0.0f,0.0f);            
        glVertex3f( 0.2f, 0.2f, 0.2f);          
        glVertex3f(-0.2f, 0.2f, 0.2f);          
        glVertex3f(-0.2f,-0.2f, 0.2f);          
        glVertex3f( 0.2f,-0.2f, 0.2f);          

        glColor3f(1.0f,1.0f,0.0f);              
        glVertex3f( 0.2f,-0.2f,-0.2f);     
        glVertex3f(-0.2f,-0.2f,-0.2f);          
        glVertex3f(-0.2f, 0.2f,-0.2f);          
        glVertex3f( 0.2f, 0.2f,-0.2f);          

        glColor3f(0.0f,0.0f,1.0f);            
        glVertex3f(-0.2f, 0.2f, 0.2f);       
        glVertex3f(-0.2f, 0.2f,-0.2f);          
        glVertex3f(-0.2f,-0.2f,-0.2f);          
        glVertex3f(-0.2f,-0.2f, 0.2f);          

        glColor3f(1.0f,0.0f,1.0f);           
        glVertex3f( 0.2f, 0.2f,-0.2f);        
        glVertex3f( 0.2f, 0.2f, 0.2f);          
        glVertex3f( 0.2f,-0.2f, 0.2f);          
        glVertex3f( 0.2f,-0.2f,-0.2f);
       glEnd();

        glutSwapBuffers();
        Sleep(20);
        angX+=1.0;
        angY+=0.2;
        goto Case1;
} 

void main( int argc , char **argv )
{ 
    glutInit( &argc , argv ); 
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); 
    glutInitWindowSize( 800 , 600 ); 
    glutInitWindowPosition( 100 , 100 ); 
    glutCreateWindow( "Êóá" ); 
    glClearColor( 1 , 1 , 1 , 1 ); 
    glutDisplayFunc( Display ); 
    glutMainLoop();
}

Здесь разноцветный кубик крутится вокруг осей Х и Y. и Все бы хорошо, но некоторые грани не видны, как я понимаю из-за того, что координаты их совпадают с другими гранями и эти грань налезает на грань, вообще кубик похож не на кубик, а на кубик с несколькими прозрачными гранями, которых якобы и в помине нет. Помогите люди пожалуйса, второй час голову ломаю.
PM MAIL   Вверх
Baton2007
Дата 7.11.2008, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2007

Репутация: нет
Всего: нет



А зачем использовать две функции   glRotatef();
Если я не ошибаюсь одна функция справится с поворотом по всем 3 осям!
И еще избавься от goto и поставь функции таймера!

Это сообщение отредактировал(а) Baton2007 - 7.11.2008, 09:43
PM MAIL   Вверх
Salatovec
Дата 7.11.2008, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



2 функции использую, чтобы скорости поворота были разные. Так а по моей проблеме ответ будет?)
PM MAIL   Вверх
Salatovec
Дата 7.11.2008, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



Неужели никто не поможет, очень хочу понять решение?(
PM MAIL   Вверх
Salatovec
Дата 7.11.2008, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



 smile 
PM MAIL   Вверх
Salatovec
Дата 7.11.2008, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



Да какие же вы после этого профессионалы (
PM MAIL   Вверх
Salatovec
Дата 9.11.2008, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



 smile 
PM MAIL   Вверх
Rickert
Дата 9.11.2008, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Смотрим что такое gluLookAt() - 0
Что значит "Case 1: ", в начале функции "Display"? - 1
Учимся инициализировать не через glut - чтобы понять как работать с OpenGL, а не пытаться построить камаз, научившись резьбе по дереву.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Salatovec
Дата 9.11.2008, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



Ура откликнулись добрые люди, спасибо) Дак учиться то я и хочу, просто уроки, которые я нашел в инете чето как то туманно учат, я во многое не втыкаю(
А case - я сделал как метку, чтобы все время угол поворота прибавлялся и функция заного начиналась. Чтобы кубик крутился короче =\
PM MAIL   Вверх
Rickert
Дата 10.11.2008, 04:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Будут вам уроки smile 
0) Забываем про метки - это плохой стиль программирования. Выбросьте книгу, которая вам о них поведала. Возьмите книгу Дейтлов или Страуструпа.
1) Идём в ya.ru -> "Уроки Nehe" - учимся инициализировать OpenGL и делать какой-то минимум действий.
2) Если понадобиться - создайте тему что-то типа "Вопросы человека, учащего OpenGL" - и там задавайте появляющиеся вопросы. Думаю, если их накопится много, то модератор даже закрепит эту тему. Я обещая во всём помогать вам и освещать непонятные вопросы, попутно осыпая ссылками smile 



--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Salatovec
Дата 10.11.2008, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



Rickert, Я как раз и учился по урокам нехе, вот там 1 урок, инициализация в виндовс он уже непонятен) Куча, куча - ну просто куча кода, а мне то нужно лишь чтобы окошко создавалось и в нем кубик пока нарисовать, чтобы вертелся и правильно отображался. Про создание кубика и вообще работу с рисованием полигонов, линий и т.д. я понял, а от непосредственно инициализацию опенгл нет( Я нашел вот такие уроки http://www.firststeps.ru/mfc/opengl/r.php?1 , как считаете, подойдут? Или все таки лучше в нехе втыкать?


Это сообщение отредактировал(а) Salatovec - 10.11.2008, 17:39
PM MAIL   Вверх
Salatovec
Дата 10.11.2008, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



Если не трудно, сделай мне такую, а я попробую в ней разобраться и спрошу, что непонятно. Если не трудно, пожалуйста.
PM MAIL   Вверх
Rickert
Дата 11.11.2008, 04:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Нет, друг мой, извините, делать за вас никто ничего не будет. Я вам повторяю - "Уроки NeHе" - первый из них посвящён созданию окна и инициализации OpenGL.
Надо инициализировать именно так как там указано, а не через коротенькие, готовые функции glut'а, неудивительно что вы не понимаете как всё это работает: просто пытаетесь сделать работу быстрее.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Salatovec
Дата 11.11.2008, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



Просто инициализация и вправду уж больно жесткая =\ Ладно, возникнут вопросы - напишу)
PM MAIL   Вверх
Rickert
Дата 11.11.2008, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Salatovec, это вам кажется. Поверьте: дальше - больше smile 


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0542 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.