Войти
ПрограммированиеФорумГрафика

Самый популярный движок для Delphi (5 стр)

Страницы: 1 2 3 4 5
#60
19:50, 21 июля 2009

я не рисую с GlScene я только думаю перейти ли мне на него или нет с чистого OpenGl.
ExeLord
> Возможно MaxFM это и имел ввиду.
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
vx,vy,dx,dy:real;
begin
if ((X<=viewportP[2]) and (Y>=0) and (Y<=viewport[1]+viewport[3]) ) then
      Form1.Cursor:=crCross
else  Form1.Cursor:=crDefault;
    if (ssRight in Shift) then
        begin
................ b т.д.!!!!
...............
VisKoord;..определение квадрата видимых координат земли.
Draw(); вызов отрисовки сцены.

вот что я имел ввиду.

@!!ex
> InvalidateRect(Form.Handle,nil,false);
> и желательно в Application.OnIdle
в этом случае как мне объяснили сцена будет постоянно обновляться. а зачем ее обновлять если на ней ничего не меняется?
вот я с помощью мыши повернул сцену или изменил масштаб то тогда и надо отрисовывать сцену. ведь так?


#61
21:17, 21 июля 2009

Хоть стреляйте, не могу понять, чем автоматическое обновление сцены вам мешает...
Но всё, что вам нужно, настраивается в GLCadencer.
Хотите освободить CPU (зачем?! непонятно), ставьте Mode в cmApplicationIdle и SleepLength в положительное число.
Хотите обновлять сцену вручную -  ставьте Mode в cmManual и вызывайте метод Progress.

#62
21:48, 21 июля 2009

pool2004
тут вопрос не по поводу GLScene. сейчас вопрос о чистом OpenGL. Я вот думаю стоит мне переходит на GlScene или нет, я в нем увидел много хороших моментов,которые мне очень нужны и при том это , как я понял, самый удачный движок для VCL-приложений. и мне для отрисовки сцены не надо GLCadencer, там все хитро продумано: сцена изменятеся от действий оператора- fps>0, сцена не изменна -> fps=0.
класс!!! единственное что вот все чтото так хаят этот движок!!!!

#63
22:25, 21 июля 2009

pool2004
тут вопрос не по поводу GLScene. сейчас вопрос о чистом OpenGL. Я вот думаю стоит мне переходит на GlScene или нет, я в нем увидел много хороших моментов,которые мне очень нужны и при том это , как я понял, самый удачный движок для VCL-приложений. и мне для отрисовки сцены не надо GLCadencer, там все хитро продумано: сцена изменятеся от действий оператора- fps>0, сцена не изменна -> fps=0.
класс!!! единственное что вот все чтото так хаят этот движок!!!!

#64
0:15, 22 июля 2009

> единственное что вот все чтото так хаят этот движок!!!!

ага, потому что Делфи...

Не бери в голову, Сцена чуть ли не единственный нормальный 3д двиг на делфи

#65
7:57, 4 авг. 2009

ExeLord
>Тогда, только, мультимидийный таймер (MMSystem).

Ребята, я вас заверяю, никогда не высказывайте ваши предположения о предмете лишь для самопоказухи мнимой эрудиции, если не знакомы с данным предметом.
В GLScene есть такой компонент TGLCadencer - это таймер, минимальный шаг которого - 0 мс, а т.е. то же самое что и плотный цикл в отдельном потоке, так же уже в самом компоненте настраивается приоритет потока. шаг можно устанавливать с точностью до 1 мс. Так же компонент крепиться к сцене. В основном он используется для постоянной анимации каких-либо динамичных эффектов.

считаю GLScene - лучшим движком под VCL для начинающих.
а затем можно переходить на что-то другое, если будет не хватать fps, так как работа под VCL не отличается высокой скоростью. Но если делать казуалки всякие, то Сцены хватает с лихвой.
Я например начал изучать Ogre, когда мне не стало хватать скорости в 3D моделировании солнечной системы(т.е. масштаб, текстуры большие и т.д.) а всякие мелкие игрульки для себя продолжаю делать на Сцене.

#66
9:10, 4 авг. 2009

TMonax
> так как работа под VCL не отличается высокой скоростью
А тут уже вы ошибаетесь - работа под VCL практически никак не влияет на скорость приложений, во всяком случае - на современных машинах. Беда GLScene в другом - там многие вещи реализованы не самым оптимальным образом, от того на сложных сценах и тормоза.

#67
10:45, 4 авг. 2009

pool2004
Конечно же, прошу прощения за неуточнение - под этой фразой я имел ввиду "Работа с OGL по средствам написанного на VCL GLScene"

#68
11:32, 4 авг. 2009

TMonax
> В GLScene есть такой компонент TGLCadencer - это таймер, минимальный шаг
> которого - 0 мс, а т.е. то же самое что и плотный цикл в отдельном потоке, так
> же уже в самом компоненте настраивается приоритет потока. шаг можно...
Знаю, как в обычном таймере. Но прикол ммтаймера в том, что его поток не обращает внимание на то, выполнилась ли твоя процедура,
а вызывает её снова. Хотя для меня, если идёт речь об отрисовке, то лучше пустить в свободный цикл.

pool2004
> Хоть стреляйте, не могу понять, чем автоматическое обновление сцены вам
> мешает...
Когда дело идёт об игрушке - тогда можно (это даже помогает). Но для программ это делать незачем,
тем более ясно что вы будете работать в оконном режиме, и излишне нагружать систему не желательно.

Страницы: 1 2 3 4 5
ПрограммированиеФорумГрафика

Тема в архиве.