Size: a a a

pro.graphon (and gamedev)

2020 July 16

АК

Антон Ковалев... in pro.graphon (and gamedev)
Они же могут DX API изменить, а GL - нет
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Ещё, кстати, нельзя в одно окно рисовать и через D3D12, и через другие API
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Только вот так, через interop с бэкбуфером из DXGI
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Потому что в D3D12 (а ещё в 11 в UWP) используется swap chain с flip model
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
это когда не DISCARD/SEQUENTIAL, а FLIP_DISCARD/FLIP_SEQUENTIAL
источник

U

UsernameAK in pro.graphon (and gamedev)
окей я создал ДЕЖИЦЕ
источник

U

UsernameAK in pro.graphon (and gamedev)
что дальше
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Там явно создаётся несколько D3Dшных текстур, и ты рисуешь в ту, которая в данный момент является текущим бэкбуфером, а всякие GDI и WGL ничего не знают про то, какой бэкбуфер текущий
источник

d

disba1ancer in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Элементы UI в Windows сами по себе окна)
это не всегда так, но зачастую так
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
И не происходит никакого копирования, и нельзя рисовать в одно окно и на GPU, и на CPU, просто указатель на буфер меняется в DWM, а композитор в DWM GPUшный
источник

АК

Антон Ковалев... in pro.graphon (and gamedev)
disba1ancer
это не всегда так, но зачастую так
Если про нативные - всегда. Открой Spy++ и посмотри на программы всякие
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
UsernameAK
окей я создал ДЕЖИЦЕ
Render target view для бэкбуфера, текстуру и depth/stencil view для глубины/стенсила, rasterizer state, depth/stencil state, может быть, blend state (не знаю, обязательно ли, если не блендишь), viewport, scissor, шейдеры, константные буферы, вершинные буферы, текстуры
источник

U

UsernameAK in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Render target view для бэкбуфера, текстуру и depth/stencil view для глубины/стенсила, rasterizer state, depth/stencil state, может быть, blend state (не знаю, обязательно ли, если не блендишь), viewport, scissor, шейдеры, константные буферы, вершинные буферы, текстуры
короче после этого
> Render target view для бэкбуфера, текстуру и depth/stencil view для глубины/стенсила, rasterizer state, depth/stencil state
всё как в OGL, да?
источник

d

disba1ancer in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
это когда не DISCARD/SEQUENTIAL, а FLIP_DISCARD/FLIP_SEQUENTIAL
а в чём разница?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
disba1ancer
а в чём разница?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Быстрее, копирования не происходит
источник

АК

Антон Ковалев... in pro.graphon (and gamedev)
UsernameAK
что дальше
держи
источник

d

disba1ancer in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Быстрее, копирования не происходит
а раньше было копирование?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Но если ты уже создал swap chain для окна с flip model, это окно уже никогда не станет обыкновенным
источник

U

UsernameAK in pro.graphon (and gamedev)
у меня сейчас пока всё выглядит так
источник