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

OpenGL 4.x (80 стр)

Advanced: Тема повышенной сложности или важная.

Страницы: 179 80 81 82 83 Следующая »
#1185
12:08, 22 мар. 2018

MrShoor
> Даже на уровне корпораций OpenGL дропнули в пользу DX. Лол.

"Огласите весь список, пожалуйста" (c) Гайдай


#1186
12:11, 22 мар. 2018

Daniil Petrov
> Походу потому ID Software изначально и выбрали OGL, как заехали на Винду :)
Во время их заезда туда доступены были дх3-4 емнип.

#1187
13:04, 22 мар. 2018

innuendo
> "Огласите весь список, пожалуйста" (c) Гайдай
Из того что использую по работе - здс макс и автокад. Д3д там давно основной визуализатор в проекциях. На ГЛ и на спец рендеры как было в 2к гддах все забили. Как и производители видео карт так и сам аутодеск.

#1188
13:11, 22 мар. 2018

barnes
> На ГЛ и на спец рендеры как было в 2к гддах все забили. Как и производители видео карт так и сам аутодеск.
> производители видео карт
> забили
кек. не позорился бы.

#1189
13:35, 22 мар. 2018

MrShoor
> что OGL говно, и все.
DX конечно круче, ровно как и винда - лучшая ОС, просто зачастую всякие извращенцы предпочитают торчать на мак-ах...
Ладно, вот ты мне лучше скажи, как сейчас дело обстоит со всякими SPIR-V, что-то универсальное уже придумали, что бы код компилировался под всё? :)

#1190
13:38, 22 мар. 2018

g-cont
> Квейк вон тоже ЕМНИП использовал DXSound.
id Tech 4 уже использует креативовский OpenAL.

#1191
15:14, 22 мар. 2018

g-cont
> Да никто и не пытался.
unreal юзал DX 4 и 5. плюс софтрендер и glide. А вот OGL в нем не было до unreal tornaiment

#1192
15:15, 22 мар. 2018

заканчивайте вечер вспоминаний

#1193
(Правка: 15:28) 15:21, 22 мар. 2018

@2018:theend
мне крайне жаль, что OpenGL однажды стал, и очень быстро упал... но у него еще остались бывшие друзья: CUDA и OpenCL...
сегодня я понял, что у Windows нету никакого OpenGL (за исключением рудимента из Windows 95), есть только DirectX (12)...
я целых 6 лет жил в жестком обмане...

@Linux:afterwords
даже пингвиноидам больше не суждено возродить честь ни OpenGL, ни ихней, теперь уже нынешней, обузы Vulkan API...

@Apple:f&ckthisworld
а фирма Apple клала последние рельсы и шпалы поперек этим API, но они хотя бы держались до OpenGL 4.0... но выбрала ржавеющий Metal...

#1194
(Правка: 5:12) 5:12, 31 июля 2018

Насколько дорога glGetIntegerv?

А то прикручивал imgui по примеру. там есть такой кусок в каждом кадре:

  GLenum last_active_texture; glGetIntegerv(GL_ACTIVE_TEXTURE, (GLint*)&last_active_texture);
  GLint last_program; glGetIntegerv(GL_CURRENT_PROGRAM, &last_program);
  GLint last_texture; glGetIntegerv(GL_TEXTURE_BINDING_2D, &last_texture);
  GLint last_sampler; glGetIntegerv(GL_SAMPLER_BINDING, &last_sampler);
  GLint last_array_buffer; glGetIntegerv(GL_ARRAY_BUFFER_BINDING, &last_array_buffer);
  GLint last_element_array_buffer; glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING, &last_element_array_buffer);
  GLint last_vertex_array; glGetIntegerv(GL_VERTEX_ARRAY_BINDING, &last_vertex_array);
  GLint last_polygon_mode[2]; glGetIntegerv(GL_POLYGON_MODE, last_polygon_mode);
  GLint last_viewport[4]; glGetIntegerv(GL_VIEWPORT, last_viewport);
  GLint last_scissor_box[4]; glGetIntegerv(GL_SCISSOR_BOX, last_scissor_box);
  GLenum last_blend_src_rgb; glGetIntegerv(GL_BLEND_SRC_RGB, (GLint*)&last_blend_src_rgb);
  GLenum last_blend_dst_rgb; glGetIntegerv(GL_BLEND_DST_RGB, (GLint*)&last_blend_dst_rgb);
  GLenum last_blend_src_alpha; glGetIntegerv(GL_BLEND_SRC_ALPHA, (GLint*)&last_blend_src_alpha);
  GLenum last_blend_dst_alpha; glGetIntegerv(GL_BLEND_DST_ALPHA, (GLint*)&last_blend_dst_alpha);
  GLenum last_blend_equation_rgb; glGetIntegerv(GL_BLEND_EQUATION_RGB, (GLint*)&last_blend_equation_rgb);
  GLenum last_blend_equation_alpha; glGetIntegerv(GL_BLEND_EQUATION_ALPHA, (GLint*)&last_blend_equation_alpha);
  GLboolean last_enable_blend = glIsEnabled(GL_BLEND);
  GLboolean last_enable_cull_face = glIsEnabled(GL_CULL_FACE);
  GLboolean last_enable_depth_test = glIsEnabled(GL_DEPTH_TEST);
  GLboolean last_enable_scissor_test = glIsEnabled(GL_SCISSOR_TEST);

мне лениво сейчас писать менеджер стейтов. Можно ли пока оставить этот кусок?

А то может OGL перед смертью поумнел и хранит свои стейты не только в видеокарте, но и дубли в оперативной памяти? или я много хочу, и он честно на каждый гет лезет в память видекарты?

#1195
5:33, 31 июля 2018

war_zes
> Насколько дорога glGetIntegerv?
Я полагаю у неё стоимость может варьироваться в зависимости от того, что именно ты запрашиваешь и от драйверов.
На случались и "дорогие" вызовы. Но дорогие они были например в контексте вызова 1000 раз на кадр. Если у тебя 1 раз на фрейм - я думаю вообще не стоит парится. По крайней мере пока явно не столкнешься, что оно тормозит.

#1196
(Правка: 9:54) 9:49, 31 июля 2018

Команды glGet*/glIs* добавляются в очередь команд GPU и блокируют поток CPU до получения результата.
Если это где-то в начале рендера то не критично, если впихнуть это куда-то в середину/конец рендера то CPU будет простаивать из-за принудительной синхронизации, даже если это будет 1 вызов на кадр.

#1197
10:07, 31 июля 2018

war_zes
> мне лениво сейчас писать менеджер стейтов. Можно ли пока оставить этот кусок?
что мешает заменить геты на бинды нужных тебе стейтов?

#1198
(Правка: 10:25) 10:24, 31 июля 2018

Что-то у нас за всю историю так толком и не оптимизировали этот OpenGL, ни на уровне дров, ни на уровне самих библиотек, ни даже на уровне приложений, а это главная причина поражения перед DirectX 11 (а позже и фатальным поражением перед DirectX 12). Настолько там все было сурово, что уже на следующий год не смотря на все мои предубеждения (аля, "религия не спасла") я все таки съехал в Vulkan API. С другой стороны есть другой профит - ведь у Khronos теперь меньше беспокойства за их будущее, даже во времена палящего рассвета DXR. Челябинский OpenGL настолько суров...

#1199
10:34, 31 июля 2018

elviras9t

не бузи

Страницы: 179 80 81 82 83 Следующая »
ПрограммированиеФорумГрафика