forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Количество полигонов на уровне - программная оптимизация? (http://forum.boolean.name/showthread.php?t=14499)

Drayfer 31.03.2011 01:16

Количество полигонов на уровне - программная оптимизация?
 
Создаю уровень: два больших здания и окружение между ними. Моделю в максе. На данный момент на уровне порядка 150 тыс. полигонов. В дальнейшем ожидается - около 250тыс.

Как по вашему - это много или мало?
Просто у меня теперь начала подтормаживать игра, когда например приближаешься к высокополигональным моделям. Игра от первого лица. Да и вообще медленнее вся сцена становится с увеличением полигонов. Действия на уровне в большей степени будут проходить внутри зданий.

Какие есть пути программной оптимизации в прорисовке сцены? БЕЗ оптимизации в уменьшении полигонов.

Я знаю только - уменьшить дальность прорисовки:
CameraRange camera,10,20000
Но тут с уменьшением расстояния второго параметра - теряется вся "реалистичность"...
P.S. на моем компе еще не так заметно, а вот на более слабых - так вообще...

Mr_F_ 31.03.2011 01:29

Ответ: Количество полигонов на уровне - программная оптимизация?
 
Цитата:

Какие есть пути программной оптимизации в прорисовке сцены? БЕЗ оптимизации в уменьшении полигонов.
wut?

юзай разный куллинг. если внутри зданий, то BSP+порталы юзай.

Drayfer 31.03.2011 01:37

Ответ: Количество полигонов на уровне - программная оптимизация?
 
Цитата:

Сообщение от Mr_F_ (Сообщение 184316)
wut?

юзай разный куллинг. если внутри зданий, то BSP+порталы юзай.

не понял что такое "wut"?
И что такое куллинг?

Порталы - это разделить существующий уровень на части. И при переходе в какую-то комнату например - загружать эту часть?

Aikon 31.03.2011 01:55

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

havok 31.03.2011 02:01

Ответ: Количество полигонов на уровне - программная оптимизация?
 
Кинь мне свой уровень и я уменьшу количество без потери текстурных координат - очень много полигонов :((

Igor 31.03.2011 12:38

Ответ: Количество полигонов на уровне - программная оптимизация?
 
Цитата:

Drayfer, для дальних расстояний обычно используют упрощенные модели, когда игрок приближается, то загружаются более высокого качества.
В Call of Duty Modern warfare как-то насчитал целых 5 моделек одного и того же велосипеда))
А сейчас делают хитрее - в некоторых играх модель с другой детализацией при появлении плавно меняет прозрачность - в Order of war например - так у меня вообще не получалось отследить подгрузку моделек.
Ещё способ - сделать прозрачный куб (или пирамидку) вокруг модельки, если их не видно, то и модель не видно, её не отрисовывать.

RegIon 31.03.2011 13:07

Ответ: Количество полигонов на уровне - программная оптимизация?
 
Цитата:

Ещё способ - сделать прозрачный куб (или пирамидку) вокруг модельки, если их не видно, то и модель не видно, её не отрисовывать.
+ еще 1000 поликов,а не проще тогда математическую модель

Drayfer 31.03.2011 13:07

Ответ: Количество полигонов на уровне - программная оптимизация?
 
а вот еще хотел узнать - те модели, которые находятся сзади камеры обзора - они отрисовываются?

А по поводу прозрачного куба: тут надо мелкие модели помещать в куб или например целое здание можно так, когда например нахожусь в другом здании?

Костян, это как математическую модель?

И кстати, как сделать, чтоб игра на всех компах одинаково шла? Как сделать это ограничение FPS?

Igor 31.03.2011 13:11

Ответ: Количество полигонов на уровне - программная оптимизация?
 
Цитата:

+ еще 1000 поликов,а не проще тогда математическую модель
Принцип знаю, реализацию - нет. Расскажи как надо.

RegIon 31.03.2011 13:35

Ответ: Количество полигонов на уровне - программная оптимизация?
 

? Как сделать это ограничение FPS?
создаем таймер timer=CreateTimer(fps)
дальше в цикле WaitTimer (timer)
Цитата:

Принцип знаю, реализацию - нет. Расскажи как надо.
Считать куда повернута камера,относительно объекта,а проще найти пример в хелпе,где функция которая возвращает 1 если объект виден,а если он виден,то отрисовываем,нет-нет.

maxturbo 31.03.2011 14:03

Ответ: Количество полигонов на уровне - программная оптимизация?
 
Вложений: 1
А мне кажется не плохо было бы использовать плагин MMSectorSystem для оптимизации количества полигонов :)
По части FPS...
Код:

Graphics3D 640,480,16,2

Const UPS=60

cam=CreateCamera()

l=CreateLight()

period=1000/UPS
time=MilliSecs()-period

Repeat
  Repeat
  elapsed=MilliSecs()-time
  Until elapsed
  ticks=elapsed/period
  tween#=Float(elapsed Mod period)/Float(period)
 
  For k=1 To ticks
  time=time+period 
  If KeyHit(1) End
  UpdateWorld 
  Next
 
  RenderWorld tween
  Flip

Forever

Думаю в коде все понятно :)

Drayfer 31.03.2011 14:43

Ответ: Количество полигонов на уровне - программная оптимизация?
 
maxturbo, а как пользоваться этим плагином? расскажи плиз на словах или дай ссылку на мануал какой-то...

ARA 31.03.2011 15:17

Ответ: Количество полигонов на уровне - программная оптимизация?
 
Drayfer
Не можешь в семпле разобраться? Тогда бросай геймдев! Срочна!

Drayfer 31.03.2011 15:23

Ответ: Количество полигонов на уровне - программная оптимизация?
 
ARENSHI, я просто не понял к чему подключается этот плагин?
А заниматься геймдевом меня на данный момент обязывает мой дипломный проект)))
Так что, если не в тягость лучше поясни немного.

P.S. гугл мне ответа по поводу этого плагина не дал.

maxturbo 31.03.2011 15:46

Ответ: Количество полигонов на уровне - программная оптимизация?
 
Цитата:

Сообщение от Drayfer (Сообщение 184364)
ARENSHI, я просто не понял к чему подключается этот плагин?
А заниматься геймдевом меня на данный момент обязывает мой дипломный проект)))
Так что, если не в тягость лучше поясни немного.

P.S. гугл мне ответа по поводу этого плагина не дал.

Там справка же есть в архиве :) в папке help :) Почитай :)
Или ты вообще представления не имеешь как сторонние библиотеки подключать к проекту??


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

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