Size: a a a

pro.graphon (and gamedev)

2020 February 11

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
Lain-dono
И это та причина, по которой много кто не думает о переходе на Vulkan. Вроде и хочется побыстрее, да сложно это всё.
Лучше с D3D12 начинать, там бойлерплейта меньше гораздо, и синхронизация чуть попонятнее
источник

L

Lain-dono in pro.graphon (and gamedev)
Условно:

OpenGL хороший выбор для мелких штук.
Vulkan подходит для оче сложных штук.
DX/Metal только на своих платформах.
WebGPU ещё пилится.
источник

U

UsernameAK in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
А чем их считать для сжатых текстур-то? И для карт нормалей в особенности, да и для шероховатости
у сжатых текстур обычно они изначально есть
источник

L

Lain-dono in pro.graphon (and gamedev)
У всяких bgfx тоже могут быть свои подводные камни.
источник

А

Андрей in pro.graphon (and gamedev)
Lain-dono
Условно:

OpenGL хороший выбор для мелких штук.
Vulkan подходит для оче сложных штук.
DX/Metal только на своих платформах.
WebGPU ещё пилится.
на самом деле нужно поддерживать все
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
Андрей
на самом деле нужно поддерживать все
На десктопе OpenGL уже не нужно
источник

А

Андрей in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
На десктопе OpenGL уже не нужно
ес на мобилках нужон + для поддержки железа мамонтоводов + вебгл
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
UsernameAK
у сжатых текстур обычно они изначально есть
Ну это же уже "мипмапы ручками" получается
источник

d

disba1ancer in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Ну это же уже "мипмапы ручками" получается
так нет же
источник

L

Lain-dono in pro.graphon (and gamedev)
Вот кстати относительно реалистичный кейс, когда так и так придётся мипмапы ручками считать: если используется tile map и ей нужны мипмапы. В данном случае надо каждый тайл отдельно уменьшать.
источник

L

Lain-dono in pro.graphon (and gamedev)
Андрей
на самом деле нужно поддерживать все
На самом деле это нужно очень далеко не всем.
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
Lain-dono
Вот кстати относительно реалистичный кейс, когда так и так придётся мипмапы ручками считать: если используется tile map и ей нужны мипмапы. В данном случае надо каждый тайл отдельно уменьшать.
Тут билинейка подойдёт, но уровней не log2(размер атласа) + 1, а log2(размер плитки) + 1
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
Lain-dono
На самом деле это нужно очень далеко не всем.
В Xenia мне пока и одного D3D12 хватает) Но на Vulkan хочу перенести, но не очень, ещё и AMD не хотят расширение для fragment shader interlock завозить, а без него нет большого смысла
источник

А

Андрей in pro.graphon (and gamedev)
Lain-dono
Вот кстати относительно реалистичный кейс, когда так и так придётся мипмапы ручками считать: если используется tile map и ей нужны мипмапы. В данном случае надо каждый тайл отдельно уменьшать.
кейс просто. У тебя отбирают инструменты. С аргументацией: ну тебе все равно ИНОГДА надо это самому делать
источник

L

Lain-dono in pro.graphon (and gamedev)
Андрей
кейс просто. У тебя отбирают инструменты. С аргументацией: ну тебе все равно ИНОГДА надо это самому делать
Это всё ещё несложно сделать самому. Всё ещё можно использовать готовую реализацию. Просто теперь она не на уровне графического API.
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
Андрей
кейс просто. У тебя отбирают инструменты. С аргументацией: ну тебе все равно ИНОГДА надо это самому делать
Ну давай вернём комбайнёры и туман из fixed function
источник

А

Андрей in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Ну давай вернём комбайнёры и туман из fixed function
если бы они были аппаратные
источник

А

Андрей in pro.graphon (and gamedev)
то я за
источник

VK

Vitaliy ◀️TriΔng3l▶️ Kuzmin in pro.graphon (and gamedev)
Lain-dono
Это всё ещё несложно сделать самому. Всё ещё можно использовать готовую реализацию. Просто теперь она не на уровне графического API.
+, и в уровень графического API она вообще никак не встраивается, это куча неявных барьеров SRV <-> RTV/UAV и пиксельный или вычислительный шейдер
источник

А

Андрей in pro.graphon (and gamedev)
аппаратный PBR
источник