forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Xors3D-запись в текстуру (http://forum.boolean.name/showthread.php?t=7814)

GrogBro 10.02.2009 21:10

Xors3D-запись в текстуру
 
Подскажите,как работает xStretchBackBuffer(Texture, 0, 0, xGraphicsWidth(),xGraphicsHeight(), 0),
чем отличается от
xSetBuffer xTextureBuffer(Texture)
xRenderWorld()?

moka 10.02.2009 21:19

Ответ: Xors3D-запись в текстуру
 
В том что не рендерит заного картинку, а просто копирует из бэк буфера картинку в текстурный буффер. Это намного быстрее если нужно сдублировать буфер, и не зависит от сложности сцены.
А Рендерингов нужно вызывать как можно меньше.

GrogBro 10.02.2009 21:34

Re: Xors3D-запись в текстуру
 
Еще такой вопрос,что означают флаги 16,32,256 и остальные?
tex = xCreateTexture(800,600,16+32+256)
256 - как я понял ставит формат R32 (хранит красный канал с 32х битной точностью)

ABTOMAT 10.02.2009 21:42

Ответ: Xors3D-запись в текстуру
 
Залезь в справку блица по соотв. команде - в ксорсе должно быть идентично.

moka 10.02.2009 21:51

Ответ: Xors3D-запись в текстуру
 
В ксорсе вроди идентично, за исключением 256 флага - он делает всю текстуру floating-point, что очень сильно увеличивает точность передоваемого цвета.

tormoz 10.02.2009 22:40

Ответ: Xors3D-запись в текстуру
 
кстати, было бы очень неплохо сделать рендер одной модели прямо в текстуру
и быстрое переключение буфера (для теней)

moka 11.02.2009 00:33

Ответ: Xors3D-запись в текстуру
 
tormoz, для теней я вообще предлогал сделать систему как материалов, чтобы можно было задавать шейдеру индекс, и менять индексы глобально, одной переменной. Как слои или сцены материалов.
А нету ничего типо RenderEntity? Я как-то давно просил, хз сделали или нет..

Mr_F_ 11.02.2009 10:54

Ответ: Xors3D-запись в текстуру
 
а иногда нужно парочку-другую рендернуть...
уж лучше типа

list=xCreateRenderList()
xAddToRenderList sphere,list
xAddToRenderList cube,list

xRenderList(list)

HolyDel 11.02.2009 12:55

Ответ: Xors3D-запись в текстуру
 
Mr_F_, у меня твой вариант ))
иногда бывает нужно рендерить объекты по группам.

H@NON 11.02.2009 17:19

Ответ: Xors3D-запись в текстуру
 
Mr_F_
А чем мешает создать свой тип и занести в него объекты?
Код:

Type RenderObject
    Field entity
End Type
...
For r.renderObject
    xRenderEntity(r\entity)
Next

Имхо, лишняя такая фича.

HolyDel 11.02.2009 17:29

Ответ: Xors3D-запись в текстуру
 
H@NON, неоптимально. к примеру, полупрозрачные объекты рендерятсо отдельно и их надо сортировать по дистанции от камеры. Нужно их также резать фрустумом. Гораздо удобнее просто создать список и внести в него объекты, чем писать весь функционал.
Да и внутридвиговые списки явно будут побыстрее блицовых :)

ABTOMAT 12.02.2009 03:37

Ответ: Xors3D-запись в текстуру
 
Эф дело говорит насчёт списков.

Render 13.02.2009 17:47

Ответ: Xors3D-запись в текстуру
 
http://webfile.ru/placed?id=2630995

Вотс небольшой апдейт со списками для отрисовки )
Пример:
gr = xCreateGroup()
xGroupAddEntity(gr, cone1)
xGroupAddEntity(gr, cone)

в цикле
xRenderGroup(gr)

Ну и полезная команда )
xGroupRemoveEntity(eGroup%, ent)

moka 13.02.2009 19:15

Ответ: Xors3D-запись в текстуру
 
Хм, а можно удалить сразу группу?
А что если такую фичу сделать, чтобы можно было на группу применять функции по работе с шейдерами, которые будут применяться всем энтитям в группе?
Это очень удобная штучка будет :)


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

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