Войти
ПрограммированиеФорумГрафика

Vulkan API (вышел!) (8 стр)

Страницы: 17 8 9 10417 Следующая »
#105
4:51, 12 мар. 2015

war_zes
> Так что как минимум нужно проставлять все основные стейты... чего конечно же в
> уроках про кубик никто не делает.
Вообще то все основные стейты документированны на уровне апи. Например:
https://www.opengl.org/sdk/docs/man/html/glBlendFunc.xhtml
sFactor The initial value is GL_ONE.
dFactor The initial value is GL_ZERO.
Кроме того все новые фичи в стейтах должны быть выключены по дефолту, ибо поломают старый код.


#106
(Правка: 5:33) 5:28, 12 мар. 2015

MrShoor
> Вообще то все основные стейты документированны на уровне апи. Например:
Что ты этим хотел сказать? в DX тоже самое
https://msdn.microsoft.com/en-us/library/windows/desktop/ff476462(v=vs.85).aspx

State  Default Value
AlphaToCoverageEnable  FALSE
IndependentBlendEnable  FALSE
RenderTarget[0].BlendEnable  FALSE
RenderTarget[0].SrcBlend  D3D11_BLEND_ONE
RenderTarget[0].DestBlend  D3D11_BLEND_ZERO
RenderTarget[0].BlendOp  D3D11_BLEND_OP_ADD
RenderTarget[0].SrcBlendAlpha  D3D11_BLEND_ONE
RenderTarget[0].DestBlendAlpha  D3D11_BLEND_ZERO
RenderTarget[0].BlendOpAlpha  D3D11_BLEND_OP_ADD
RenderTarget[0].RenderTargetWriteMask  D3D11_COLOR_WRITE_ENABLE_ALL

Кого волнует дефолтные значения?

То есть можно написать (да - именно одной строчкой как в OGL)

ID3D11DeviceContext::OMSetBlendState(0, color, 0xffffffff);
И этим поставить дефолтный блендинг.

Но в примерах никто так не будет делать - никому не важны дефолтные значения больше чем для справки


В реальном приложении ты все равно будешь писать столько же кода сколько в DX. Потому что иначе будут измененные стейты о которых ты не знаешь.

Например ты выключил блендинг... Значит ты его должен включить позже. Вот и две строчки. Ты изменил параметры блендинга, значит должен вернуть старые... вот еще куча строк. И этих строк нет в примере кубика - поэтому и кажется что кубик на OGL выводится меньшим числом строк кода.

#107
6:49, 12 мар. 2015

war_zes
> Ага, а потом гадать, откуда вылезли баги....

В который раз пишу, это лично твоя проблема, что ты не хочешь понимать и разбираться. Хочешь на всём готовом выезжать. Если бы ты писал про баги - я бы с тобой согласился...

И да, пример про кубик - он совсем не про стейты. А про Begin/End


> В реальном приложении ты все равно будешь писать столько же кода сколько в DX

Ну что же, давай сравним: есть шейдера VS/HS/DS/GS/PS - в GL это ставится за один вызов, сколько в DX ?
Даже просто VS/PS

#108
7:18, 12 мар. 2015

innuendo
> Ну что же, давай сравним: есть шейдера VS/HS/DS/GS/PS - в GL это ставится за
> один вызов, сколько в DX ?
> Даже просто VS/PS
ну конечно, а атачим мы шейдеры ну вообще без кода... И мне надоело с тобой спорить, ты вечно про какие-то glBegin пишешь.

В том же OGL 4.4 количество строк кода уже почти равно количеству строк кода на DX 11

DX11

+ Показать

OGL

+ Показать

#109
(Правка: 8:24) 8:24, 12 мар. 2015

Привет всем, тут возник такой вопрос по поводу нового АПИ. Что кому известно про него? Как он работает? Будет ли он как и ОГЛ в формате драйвера только под видеокарты нового поколения или же будет распространяться как надстройка в виде АПИ над ОГЛ, связывая при этом все версии GL в одной библиотеке - тобиш не зависимо от версии видеокарты, просто ставишь библиотеку и пользуешься?

#110
8:33, 12 мар. 2015

temakonkin
> или же будет распространяться как надстройка в виде АПИ над ОГЛ, связывая при
> этом все версии GL в одной библиотеке - тобиш не зависимо от версии видеокарты,
> просто ставишь библиотеку и пользуешься?

Нет

temakonkin
> Будет ли он как и ОГЛ в формате драйвера только под видеокарты нового поколения

Да. Вопрос только какое поколение под него уложится, но похоже то же что и для Mantle.

#111
8:35, 12 мар. 2015

=A=L=X=
> Да. Вопрос только какое поколение под него уложится, но похоже то же что и для
> Mantle.
где-то вроде писали - все что держит OGL 4.2

#112
8:35, 12 мар. 2015

=A=L=X=
> Да. Вопрос только какое поколение под него уложится, но похоже то же что и для
> Mantle.

В таком случае его не год и не два ждать..... Пока это народ прикупит новые видюшки с вулканом.

Печально это всё.

#113
(Правка: 8:41) 8:41, 12 мар. 2015

temakonkin
> В таком случае его не год и не два ждать..... Пока это народ прикупит новые
> видюшки с вулканом.

Да, полный переход состоится года через 3.
Сейчас же всё будет держаться на рекламе и заинтересованности крупных разрабов. Интерес уже проявили Valve, Epic и по сути все кто уже выпустил игры с поддержкой Mantle.

#114
(Правка: 8:48) 8:47, 12 мар. 2015

war_zes
> В том же OGL 4.4 количество строк кода уже почти равно количеству строк кода на
> DX 11

g_pImmediateContext->VSSetShader( g_pVertexShader, NULL, 0 );
g_pImmediateContext->PSSetShader( g_pPixelShader, NULL, 0 );
g_pImmediateContext->DSSetShader( g_pDomainShader, NULL, 0 );
g_pImmediateContext->HSSetShader( g_pHullShader, NULL, 0 );
g_pImmediateContext->GSSetShader( g_pGeometryShader, NULL, 0 );
glUseProgram(id)

Есть разница ?


Теперь покажи работу с  msaa/atoc/depth bias

#115
8:57, 12 мар. 2015

innuendo
> Есть разница ?
да есть, потому что ты снова забыл glAttachShader

#116
8:58, 12 мар. 2015

war_zes
> да есть, потому что ты снова забыл glAttachShader

Это нужно только при создании program object. Я же говорю о рабочей точке

#117
9:25, 12 мар. 2015

innuendo
> Это нужно только при создании program object. Я же говорю о рабочей точке
мы тут говорил о количестве строк кода, а не количестве операций при рендере.

По количеству строк кода OGL будет больше, выше я показал... даже если выкинуть из примере ProgramPipeline

VSSetShader и подобное, я тоже напишу один раз. просто я напишу это в Render. Ты напишешь glAttachShader в Create.

#118
9:32, 12 мар. 2015

war_zes
> даже если выкинуть из примере ProgramPipeline

Забавно, когда на GL пишут в DX стиле :)

> По количеству строк кода OGL будет больше, выше я показал...

Давай, покажи дальше про msaa и тд

#119
9:52, 12 мар. 2015

innuendo
> Забавно, когда на GL пишут в DX стиле :)
чем тебе не нравится glGenProgramPipelines/glUseProgramStages/glBindProgramPipeline ?

Именно тем что DX стиль?

А DSA тогда что?

innuendo
> Давай, покажи дальше про msaa и тд
Я не умею на OGL msaa... но точно знаю что в DX делается одним флагом.. а на OGL там надо что-то с контектсами и/или пиксельным форматом

Страницы: 17 8 9 10417 Следующая »
ПрограммированиеФорумГрафика