Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вписывание в экран

34K
13 апреля 2008 года
R$T
8 / / 06.04.2008
Как можно в openGL сделать вписывание произвольного, одного обьекта(обьект из сцены) в экран.

Вот пример кода
Цитата:
void CALLBACK resize(int width,int height)
{
glViewport(0,0,width,height);

if(height==0)
height=1;

GLfloat aspectRatio;

aspectRatio=(GLfloat)width/(GLfloat)height;

glMatrixMode(GL_PROJECTION );
glLoadIdentity();

if(width<=height)
glOrtho(-5.0,5.0, -5.0/aspectRatio,5.0/aspectRatio, 10.0,-10.0);
else
glOrtho(-5.0*aspectRatio,5.0*aspectRatio, -5.0,5.0, 10.0,-10.0);

gluLookAt( 0,0,5.0, 0,0,0, 0,1.0,0 );

glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
}



void CALLBACK display(void)
{
GLfloat m[] = { 1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f };

glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

glKordOs();

m[1]=glMove;
m[15]=glSceneInto;
// m[2]=glMove;
// m[3]=glMove;

if(y==false)
{
glPushMatrix();
glLoadMatrixf(m);
glTranRotMatrix();//[COLOR="Red"] в этой функции происходит преобразование сцены т.е. вращение и перемещение и маштабирование и построение, для него какбы и нужно организовать вписывание после произвольного действия над сценой[/COLOR]

glPopMatrix();
}

я в этом деле еще не очень секу, поэтому хелпми.
спасибо, если появятся сочуствующие по этому вопросу :)

34K
13 апреля 2008 года
R$T
8 / / 06.04.2008
Вписать конечно же в gui окно, а не в экран :\
1.9K
13 апреля 2008 года
andriano
474 / / 10.01.2008
Задача имеет бесконечное множество решений. Одно из них - направить камеру на объект, после чего совершить над камерой те же самые преобразования.
34K
18 апреля 2008 года
R$T
8 / / 06.04.2008
Ладно, как сделать так чтобы после произвольного действия над обьектом спроецировать на плоскость Оху. У меня есть банальная идея найти максимвально удаленные точки по х и у затем отмасштабировать прямоугольник и его вписать както :\
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог