forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты C++ (http://forum.boolean.name/forumdisplay.php?f=56)
-   -   Sigel (http://forum.boolean.name/showthread.php?t=4960)

HolyDel 30.04.2009 02:09

Ответ: Sigel
 
Цитата:

Объясняю: при "честном" фуллскрине смена буферов происходит без копирования чего-л куда-л, а просто ссылки на BackBuffer и на FrontBuffer меняются местами. В оконном режиме картинка полностью копируется в буфер окна, что занимает много времения, поэтому-то и юзать оконный режим нежелательно.
я уже писал. оверхед меньше 0.1 мс. это практически ничто. ну будет не 100 а 101 фпс, разница не очень велика. возможно это как то оптимизируется драйвером, или системой, но разница в скорости не такая большая как можно подумать.

Цитата:

Не может быть, чтобы OpenGL не давал делать "честный" фуллскрин, иначе это же изврат полный.
ну хз. наверное ето сильно от системы зависит. вобщем хз. я по крайней мере способа не знаю :)

Цитата:

Но 3 и 4 не рулят, т.к. размер = размер экрана даже в принципе не может быть.
начиная с 6xxx может.

Цитата:

По мне так и 1 неплохо, нечего делать всё за прогера.
наверное ты прав. тогда не буду заморачиваться.

Цитата:

Кроме того частенько (у меня) текстура для рендера раза в 2-4-8 меньше разрешения экрана, так что тут тоже никак не привяжешь автоматом.
ну их размер наверное и не должен меняться вместе с разрешением?

ABTOMAT 30.04.2009 12:53

Ответ: Sigel
 
Цитата:

начиная с 6xxx может.
ну у тя же универсальный двиг :) так шо не 6ххх едиными
Цитата:

ну их размер наверное и не должен меняться вместе с разрешением?
нууу, скажем так при разрешении 640*480 текстуры воды хватает и 256*256, но при 1600*1200 уже надо 1024*1024

HolyDel 30.04.2009 20:20

Ответ: Sigel
 
теперь двиг умеет работать с HDR текстурами 16f и 32f.

вот дема:
http://sigelengine.googlecode.com/files/HDRTest4.zip

1 - обычная текстура
2 - тестура float 16
3 - текстура float 32


z/x менять яркость.

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 10 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

HolyDel 01.05.2009 20:50

Ответ: Sigel
 
Вложений: 1
добавил константы для режима окна

SWM_FULLSCREEN = 1
SWM_WINDOWED = 2
SWM_SIZEBLE = 3
SWM_SPLASH = 4

первые три соответсвуют блицу, а последний это:
Вложение 5970

+ окно теперь создается по центру екрана, а не в углу.

ABTOMAT 01.05.2009 21:38

Ответ: Sigel
 
Сделай ещё чтоб мона было перемещать окно по десктопу (мона конечно и через винапи но в завраппленно-движковом виде будет удобней)

HolyDel 04.05.2009 22:11

Ответ: Sigel
 
я тут задумал один хитрый алгоритм, который позволит резко увеличить максимальное число ентити в сцене (но за счет ввода ограничения числа ентити в кадре).

как вы думаете, это идиотизм, вводить такое ограничение? пусть даже очень большое - например 256000 объектов.

impersonalis 04.05.2009 22:14

Ответ: Sigel
 
сделай хитрую оптимизацию вклчюаемой\выключаемой.
А вообще - имхо лимит может быть, особенно, если он перекрывает потенциальную производительность движка на сферчиеской видеокарте в вакууме.

HolyDel 04.05.2009 22:30

Ответ: Sigel
 
Цитата:

сделай хитрую оптимизацию вклчюаемой\выключаемой.
если только в compile time.

moka 04.05.2009 22:39

Ответ: Sigel
 
Тоесть даже хотябы при инициализации движка, сделать переключение этой оптимизации нельзя?

HolyDel 04.05.2009 22:55

Ответ: Sigel
 
Цитата:

Тоесть даже хотябы при инициализации движка, сделать переключение этой оптимизации нельзя?
ну.. если двоить код, то скорее всего получится ето опреелять на этапе оптимизации почти без потерь производительности.

а вот если делать как попроще да покрасивее, то я скорее всего нарвусь на 2 * _число_ентити_в_сцене_ if-ов как минимум.

moka 05.05.2009 03:51

Ответ: Sigel
 
Тоесть как понял ты это реализовал дефайном..
Эх..

HolyDel 05.05.2009 04:08

Ответ: Sigel
 
я пока еще никак не реализовал :)

да и вопрос был в ограничении, которое, хотя видюхи и не превзойдут, но оно гнетет.

в принципе, если подумать, то можно и в рантайме сделать, т.е. при инициализации указывать.

moka 05.05.2009 20:36

Ответ: Sigel
 
В рантайме думаю самый подходящий по производительности способ, всёравно в играх, часто делают лаунчер с настройками, или с игры, где указвается: "настройки будут применены при следующем запуске игры", типо того. Поэтому думаю этот варриант наилучший. ;)

HolyDel 05.05.2009 22:15

Ответ: Sigel
 
гы...
так и представил опцию scene graph с вариантами:
* plain data
* octtree
* quadtree
* kd-tree

и пусть геймер выбирает на выбор, что ему больше нравится ))

Genius 05.05.2009 22:21

Ответ: Sigel
 
Цитата:

Сообщение от HolyDel (Сообщение 104438)
гы...
так и представил опцию scene graph с вариантами:
* plain data
* octtree
* quadtree
* kd-tree

и пусть геймер выбирает на выбор, что ему больше нравится ))

quadtree в большенстве случаев будет вообще не в тему,что за kd-tree?


Можно сделать несколько вареаций функций просто при выборе подставляеш поинтер на функции с выбраным типом оптимизации,и не каких тебе лишних проверок.


Часовой пояс GMT +4, время: 11:14.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot