Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 02.11.2017, 22:49   #1
SerEngine
Форумчанин
 
Регистрация: 28.10.2017
Адрес: Беларусь,город брест
Сообщений: 101
Репутация: 10
По умолчанию Камера в glut

чем больше значение тем менее поворачивает камера.



void mouselook(int x, int y) { //при зажатии мыши меняется значение
MouseXp = MouseX;
MouseX = x;
if (MouseXp>MouseX)
{
mlockx = mlockx - 0.1;
}
if (MouseXp<MouseX)
{
mlockx = (mlockx + 0.1);
}
MouseYp = MouseY;
MouseY = y;
if (MouseYp>MouseY)
{
mlocky = (mlocky - 0.1);
}
if (MouseYp<MouseY)
{
mlocky = (mlocky + 0.1);
}

cout << "X :" << mlockx << " Y : " << mlocky << endl;



}

void frame(void) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glLoadIdentity();

gluLookAt(movX, 0.0, movY, //
-mlockx,-mlocky, 7.0, // 5.29, 5.29, 7.0, //камера
0.0, 0.1, 0.0); //




glBegin(GL_TRIANGLE_STRIP);

glColor3b(255, 6, 56);

glVertex4d(0.0, 0.0, 0.0,1);
glVertex4d(0.1, 0.0, 0.0,1);
glVertex4d(0.1, 0.0, 0.1,1);
glVertex4d(0.0, 0.0, 0.1,1);
glEnd();

glBegin(GL_TRIANGLE_STRIP);

glVertex3d(0.0 + movX, 0.0 + movY, 0.0);
glVertex3d(0.1 + movX, 0.0 + movY, 0.0);
glVertex3d(0.1 + movX, 0.0 + movY, 0.1);
glVertex3d(0.0 + movX, 0.0 + movY, 0.1);
glEnd();


glBegin(GL_QUADS);
glColor3b(0,0,255);
glVertex3d(-5,-1.0,-5);
glVertex3d(5, -1.0, -5);
glVertex3d(5, -2.0, 5);
glVertex3d(-5, -2.0, 5);
glEnd();

// glutSolidSphere(0.5, 50, 50);


//glTranslated(0, 0, 0);
glutSolidCube(0.5);
glTranslated(1,0,0);

glutSolidCube(1);
glTranslated(2,0,0);
glutSwapBuffers();
}

void reshape(int w, int h)
{

glViewport(0, 0, (GLsizei)w, (GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if (w <= h)
glOrtho(-1.5, 1.5, -0.5*(GLfloat)h / (GLfloat)w, 0.5*(GLfloat)h / (GLfloat)w, -100.0, 100.0);
else
glOrtho(-1.5*(GLfloat)w / (GLfloat)h, 1.5*(GLfloat)w / (GLfloat)h, -1.5, 1.5, -100.0, 100.0);

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

}

Чем больше значение mlockx или mlocky тем медленее поворачивает камера
SerEngine вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
glut balalay12 Общие вопросы C/C++ 6 02.11.2017 22:51
glut Ivan_kaputin Общие вопросы C/C++ 6 14.01.2015 23:50
mingw32-GLUT siemdi Qt и кроссплатформенное программирование С/С++ 0 02.07.2012 12:29
Использование GLUT vik112358 Visual C++ 3 04.01.2012 19:49


03:30.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru