Форум программистов, компьютерный форум CyberForum.ru

"Гладкость" движения при 25 кадрах OpenGL - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поиск слова с определенной буквой http://www.cyberforum.ru/cpp-beginners/thread631092.html
Здравствуйте! Мне нужно написать программу которая ищет слова с определенной буквой и записывает в другой файл и при этом удаляет повторяющиеся слова. Как это можно реализовать? Только пожалуйста пишите очень подробно я только новичок. Заранее спасибо!
C++ Ошибка (fstream) При открытие файла (fstream) выводит ошибку. Есть две функции: в первой считываются имена файлов и пути к ним, она работает. А во второй ошибка при открытии. В чём тут ошибка? Необработанное исключение в "0x775d15de" в "Trest.exe": 0xC0000005: Нарушение прав доступа при чтении "0x656a626f". struct objectType { int ID; bool spawned; http://www.cyberforum.ru/cpp-beginners/thread631085.html
C++ Сглаживание сигнала
Приветствую Вас! Возник следующий вопрос: даны показатели датчика, приходят они в виде ступенек. Необходимо "сгладить" или "отфильтровать" сигнал, чтобы избавиться от этих ступенек. Другими словами, чтобы полученная функция проходила по "вершинам" ступенек. Считал,что неплохой вариант - это экстраполяция, но, толи я не до конца разобрался как правильно ее применить, толи она сюда не...
Перегрузка,стеки,очередь,бинарное дерево C++
Хотел бы поинтересоваться как часто используют эти приемы на практике (на работе ,в проектах).
C++ Программу pascal переписать под c++ условные операторы http://www.cyberforum.ru/cpp-beginners/thread631040.html
Всем доброго времени суток помогите переписать программу под c++ program lolz; Var a,c,x,f:real Begin Writeln('vvedite a,c,x); Readln(a,c,x); If (c<0) and (a<>0) then f:=-a*x*x Else if (c>0) and (a=0) then f:=(a-x)/c/x Else f:=x/c; Write ('f=' ,f:0:3);
C++ Прокоментировать программу, определяющую старые файлы и дату создания Написать программу , которая определяет, какой файл из перечисленных в командой строке самый старый.вывести дату создания. #include <errno.h> #include <stdio.h> #include <stdlib.h> #include <sys/stat.h> #include <sys/types.h> #include <time.h> #include <fontl.h> #include <unistd.h> подробнее

Показать сообщение отдельно
MadRabbit
0 / 0 / 0
Регистрация: 07.08.2011
Сообщений: 53

"Гладкость" движения при 25 кадрах OpenGL - C++

31.07.2012, 13:38. Просмотров 1059. Ответов 3
Метки (Все метки)

Ребята, тут такое дело...
Изучаю я в общем OpenGL, пытаясь решить проблему кадров (кадр, просто количество действий в секунду), а именно, их адаптации. То есть, хотел сделать так, что бы при 25 кадрах, все движения были бы с той же скоростью, что и при 60. К примеру, если мы поворачиваем объект каждый кадр на 1 градус, то при 25 кадрах, в секунду этот объект поворачивается на 25 градусов, а на 60 кадрах, на 60 градусов в секунду, что недопустимо. С этим я еще не разобрался, но это не важно, сейчас разговор о другом.

В общем, я задумался, должен же быть лимит этой самой "гладкости". Сейчас поставил ограничитель на 25 кадров (дабы, все работало без адаптации), и изменил скорости поворота тестового объекта с 0.1, на 1.0. Объект поворачивается медленно, но при этом дергается! Я часто снимаю фрапсом видео в играх, а фрапс ограничивает фпс до указанных мною (25). В других играх, при 25 кадрах, картинка движется быстро и плавно. У меня же, при тех же 25 кадрах, картинка движется медленно, и дергается. Как это решается?
Вот мой код (если нужно, могу приложить весь проект):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
    //после создания окна:
 
    timer1 = timeGetTime();
 
    //участок отлова сообщений:
 
    //*тут отловили сообщения*
 
    timer2 = timeGetTime();
 
    if(timer2-timer1 >= 40)
    {
    timer1 = timer2;
    SwapBuffers(dc);
    redraw = true;
    }
 
    if(timer2 < timer1)
    {
    timer1 = 0;
    SwapBuffers(dc);
    redraw = true;
    }
 
    //Рисуем сцену.
    if(redraw == true)
    {
    draw();
    redraw = false;
    }
 
    //сам объект (deaw();)
 
void draw()    
{ 
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);    
    glLoadIdentity();           
    gluLookAt(0,0,2.5,0,0,0,0,1,0); 
 
    d = d + 1.5; //d - глобальная переменная float
    glRotatef(d,0,0,1); 
    glRotatef((d*0.2f),0,1,0); 
 
    glEnable(GL_DEPTH_TEST); 
    glBegin (GL_TRIANGLES);    
 
    glColor3ub(255,255,0);      
    glVertex3f(0, 1, 0);      
    glVertex3f(-1, -1, -1);    
    glVertex3f(1, -1, -1); 
 
    glColor3ub(255,0,0);  
    glVertex3f(0, 1, 0);      
    glVertex3f(-1, -1, 1);    
    glVertex3f(1, -1, 1); 
 
    glColor3ub(0,255,0); 
    glVertex3f(0, 1, 0);      
    glVertex3f(-1, -1, -1);    
    glVertex3f(-1, -1, 1); 
 
    glColor3ub(0,0,255);  
    glVertex3f(0, 1, 0);      
    glVertex3f(1, -1, 1);    
    glVertex3f(1, -1, -1); 
 
    glEnd();
    //glFlush();
    glDisable(GL_DEPTH_TEST); 
 }
Ребят, очень нужна ваша помощь, заранее благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru