|
3D-программирование Вопросы, касающиеся программирования 3D мира |
16.03.2009, 20:54
|
#1
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
fullscreen квад
подскажите пожалуйста, как в стандартном блице (без внешних либ) отрисовать fullscreen квад самым простым способом? Ну и с приемлемой производительностью.
|
(Offline)
|
|
16.03.2009, 20:59
|
#2
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: fullscreen квад
Спрайт перед камерой и масштабировать. Точных коэффициентов не помню.
З.Ы. Нашёл для 640*480
Принцип думаю ясен
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
Последний раз редактировалось ABTOMAT, 16.03.2009 в 21:10.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
16.03.2009, 21:15
|
#3
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,361
Написано 2,473 полезных сообщений (для 6,856 пользователей)
|
Ответ: fullscreen квад
Local width_ratio#=Float(GraphicsWidth()) Local height_ratio#=Float(GraphicsHeight()) Local sprite=CreateMesh(par) Local s=CreateSurface(sprite) AddVertex s,0,0,0 ,0,0 : AddVertex s,2,0,0 , 1,0 AddVertex s,0,-2,0 ,0,1 : AddVertex s,2,-2,0 , 1,1 AddTriangle s,0,1,2 : AddTriangle s,3,2,1 ScaleEntity sprite,Float(width_ratio#)/2,Float(height_ratio#)/2,1 EntityParent(sprite, Camera) Return sprite
Помоему както так...
Давно с B3D не работал
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
16.03.2009, 22:08
|
#4
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Ответ: fullscreen квад
автор - Platon
;Функция создает квад под размер экрана
;параметры: сурфейс, зум камеры, фокусное расстояние до квада
Function CreateCamQuad(surf%, zoom# = 1.0, near# = 1.0)
Local xscr%, yscr%, xcnt%, ycnt%, xpos#, ypos#, i%[4]
;размеры экрана
xscr = GraphicsWidth()
yscr = GraphicsHeight()
;координаты центра экрана
xcnt = xscr Shr 1
ycnt = yscr Shr 1
;проекция левого верхнего угла
xpos = ( 0 - xcnt) * near / +zoom / xcnt
ypos = ( 0 - ycnt) * near / -zoom / xcnt
i[0] = AddVertex(surf, xpos, ypos, 0.0, 0.0, 0.0)
;проекция правого верхнего угла
xpos = (xscr - xcnt) * near / +zoom / xcnt
ypos = ( 0 - ycnt) * near / -zoom / xcnt
i[1] = AddVertex(surf, xpos, ypos, 0.0, 0.0, 0.0)
;проекция правого нижнего угла
xpos = (xscr - xcnt) * near / +zoom / xcnt
ypos = (yscr - ycnt) * near / -zoom / xcnt
i[2] = AddVertex(surf, xpos, ypos, 0.0, 0.0, 0.0)
;проекция левого нижнего угла
xpos = ( 0 - xcnt) * near / +zoom / xcnt
ypos = (yscr - ycnt) * near / -zoom / xcnt
i[3] = AddVertex(surf, xpos, ypos, 0.0, 0.0, 0.0)
AddTriangle(surf, i[0], i[1], i[2])
AddTriangle(surf, i[2], i[3], i[0])
Return i[0]
End Function
у меня эта функция уже давно в снипперах ИДЕ записана ))
|
(Offline)
|
|
Эти 7 пользователя(ей) сказали Спасибо H@NON за это полезное сообщение:
|
|
16.03.2009, 23:41
|
#5
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,361
Написано 2,473 полезных сообщений (для 6,856 пользователей)
|
Ответ: fullscreen квад
Квад или Спрайт.
Что выдаёт большие результаты?
Кто больше жрёт систему?
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
16.03.2009, 23:48
|
#6
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: fullscreen квад
Видимо больше жрёт спрайт, т.к. он ещё должен обрабатываться - поворачиваться к камере
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
16.03.2009, 23:53
|
#7
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: fullscreen квад
все сожрет филлрейт. на необходимость поворота, вытаскивание из системнойпамяти и прочее будет тратиться во много раз меньше времени, чем на собственно растеризацию квада (будь он спрайтом, мешем или Девой Марией)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
17.03.2009, 00:03
|
#8
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: fullscreen квад
Вопрос стоял что больше, а не насколько
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:48.
|