Сообщения на форуме пользователя Andrey (17 стр.)
Убогость OpenGL API | 3 июля 2012 | 17:33 | #127 |
---|
SNVampyre
> Настолько лучше, что адаптировать полноценный OpenGL-рендер под D3D невозможно
на собственном опыте? или так просто чуток почитав DirectX SDK ? все там нормально адаптируется вот только с шейдерами проблема, а именно раздельные вызовы или один.
> Настолько лучше, что адаптировать полноценный OpenGL-рендер под D3D невозможно
на собственном опыте? или так просто чуток почитав DirectX SDK ? все там нормально адаптируется вот только с шейдерами проблема, а именно раздельные вызовы или один.
Убогость OpenGL API | 3 июля 2012 | 17:27 | #123 |
---|
SNVampyre
> так как они позволяют добавлять библиотеки функций и кастомные аттрибуты и
> вариинги. В D3D этого до сих пор нет.
Это там нафиг нужно или редко используется а типа добавили разные атрибуты для галочки типа нету в других АПИ, ну это детский сад так рассуждать. Microsoft никак не хуже подошла к разработке графического API в сравнении с кучей народа с ARB и Khronos. И в результате у них получилось в разы лучше.
> так как они позволяют добавлять библиотеки функций и кастомные аттрибуты и
> вариинги. В D3D этого до сих пор нет.
Это там нафиг нужно или редко используется а типа добавили разные атрибуты для галочки типа нету в других АПИ, ну это детский сад так рассуждать. Microsoft никак не хуже подошла к разработке графического API в сравнении с кучей народа с ARB и Khronos. И в результате у них получилось в разы лучше.
Убогость OpenGL API | 3 июля 2012 | 16:41 | #109 |
---|
HolyDel
> что это? зачем мипы ОДНОЙ текстуры хранить в разных хэндлах?
врядли он это имел виду под мип уровнями. Тут просто пример удобства создания нескольких текстур.
> что это? зачем мипы ОДНОЙ текстуры хранить в разных хэндлах?
врядли он это имел виду под мип уровнями. Тут просто пример удобства создания нескольких текстур.
Убогость OpenGL API | 3 июля 2012 | 16:40 | #107 |
---|
GL_ARB_separate_shader_objects Ух ты круто, ну наконец-то!, надо использовать, а с GL_ARB_uniform_buffer_objects будет работать???
Кстати на Play Station 4 по идее будет ATI видеокарта Radeon HD 7670, и без Cg по ходу дела, т.е. будет нативный GLSL.
Кстати на Play Station 4 по идее будет ATI видеокарта Radeon HD 7670, и без Cg по ходу дела, т.е. будет нативный GLSL.
Убогость OpenGL API | 3 июля 2012 | 16:21 | #99 |
---|
-Eugene-
=A=L=X=
Помеха
axiom
Честно признаюсь что "Убогое АПИ" первый раз я сказал innuendo Если не изменяет память чуть ли не года 3 назад. так что автор это я.
=A=L=X=
Помеха
axiom
Честно признаюсь что "Убогое АПИ" первый раз я сказал innuendo Если не изменяет память чуть ли не года 3 назад. так что автор это я.
DOOM 3 for android port | 3 июля 2012 | 14:12 | #14 |
---|
alex_alex_men
> интересно есть поддержка в mali-400
> GL_ARB_vertex_program
> GL_ARB_fragment_program ?
нету.
> интересно есть поддержка в mali-400
> GL_ARB_vertex_program
> GL_ARB_fragment_program ?
нету.
DOOM 3 for android port | 3 июля 2012 | 14:11 | #21 |
---|
alex_alex_men
> и о чудо игра запустилась но не понятно тут что с шейдерами в самой карте
> происходит может видюха не тянет?
> может стоит попробовать девайс samsung s3 поюзать где стоит гпу mali-400?
Doom 3 использует GL_ARB_fragment_program/GL_ARB_vertex_program/GL_ATI_fragment_shader
Тебе нужно их переписать их на GLSL и подправить рендер.
> и о чудо игра запустилась но не понятно тут что с шейдерами в самой карте
> происходит может видюха не тянет?
> может стоит попробовать девайс samsung s3 поюзать где стоит гпу mali-400?
Doom 3 использует GL_ARB_fragment_program/GL_ARB_vertex_program/GL_ATI_fragment_shader
Тебе нужно их переписать их на GLSL и подправить рендер.
Убогость OpenGL API | 3 июля 2012 | 13:24 | #54 |
---|
L.A.
> с ним удобней. А разницы в качестве картинки нет, да и собсна откуда ей взяться
> та :)
Да ну! Десятки комбинация вызовов апи против нескольких строк в шейдере?? я так серьезно почистил код 2 рендеров (OpenGL/Direct3D 9) убрав альфа тест, хлам с матричными функциями, всякие glTexEnv, IDirect3DDevice9::SetTextureStageState и т.д.
Разница есть в производительности. При FFP runtime/Driver проверяет выставленные параметры и подставляет соответствующие шейдеры или ставит внутри переходы(зависит от реализации)
т.е. толще вызовы.
=A=L=X=
> Ужас какой.
> Create/Use/Compile/Bind/Attach, пипец...
Да тут насчет убогости GLSL я согласен. Плохо что совместили в программу 2 шейдера, плохо что нету групповой передачи параметров. Естественно речь идет про OpenGL 2.1 вот на Play Station 3 нету GLSL и не спроста там Cg ну и передача к примеру через cellGcmSetVertexProgramParameterBlock будет шустрее чем куча вызовов glUniform*.
> с ним удобней. А разницы в качестве картинки нет, да и собсна откуда ей взяться
> та :)
Да ну! Десятки комбинация вызовов апи против нескольких строк в шейдере?? я так серьезно почистил код 2 рендеров (OpenGL/Direct3D 9) убрав альфа тест, хлам с матричными функциями, всякие glTexEnv, IDirect3DDevice9::SetTextureStageState и т.д.
Разница есть в производительности. При FFP runtime/Driver проверяет выставленные параметры и подставляет соответствующие шейдеры или ставит внутри переходы(зависит от реализации)
т.е. толще вызовы.
=A=L=X=
> Ужас какой.
> Create/Use/Compile/Bind/Attach, пипец...
Да тут насчет убогости GLSL я согласен. Плохо что совместили в программу 2 шейдера, плохо что нету групповой передачи параметров. Естественно речь идет про OpenGL 2.1 вот на Play Station 3 нету GLSL и не спроста там Cg ну и передача к примеру через cellGcmSetVertexProgramParameterBlock будет шустрее чем куча вызовов glUniform*.
Убогость OpenGL API | 3 июля 2012 | 12:21 | #39 |
---|
L.A.
> смешивание FFP и GL3+ в режиме совместимости нежелательно, так как может быть
> не стабильным. Или всё пучком? :)
Забудь про FFP вообще, У меня даже в OpenGL 1.4 на Intel GMA 3150 нету FFP, правда discrad в шейдерах вместо альфа теста, подвесило рендеринг... ну это уже другая проблема.
> смешивание FFP и GL3+ в режиме совместимости нежелательно, так как может быть
> не стабильным. Или всё пучком? :)
Забудь про FFP вообще, У меня даже в OpenGL 1.4 на Intel GMA 3150 нету FFP, правда discrad в шейдерах вместо альфа теста, подвесило рендеринг... ну это уже другая проблема.
Убогость OpenGL API | 3 июля 2012 | 11:28 | #27 |
---|
Я бы серьезно пересмотрел OpenGL Runtime. компиляцию шейдеров и работу с графическими ресурсами перенес бы в OpenGL32.dll(в случае Windows). Дрова стали бы проще и без багов. Microsoft так и сделал d3d9.dll,D3d10.dll,d3d11.dll содержит большую часть работы с Direct3D API, вендорам необходимо лишь написать минимум.
Убогость OpenGL API | 3 июля 2012 | 11:12 | #19 |
---|
=A=L=X=
Вот тебя торкнуло, с чего бы это что-то попробовал пописать и накипело? в данный момент перевожу рендер на новый контекст всякие VAO и т.д. Впринципе если все заворачивать в интерфейсы и один раз отладить то вроде не так все плохо.
Вот тебя торкнуло, с чего бы это что-то попробовал пописать и накипело? в данный момент перевожу рендер на новый контекст всякие VAO и т.д. Впринципе если все заворачивать в интерфейсы и один раз отладить то вроде не так все плохо.
ATI Fetch4 в OpenGL | 28 июня 2012 | 10:12 | #54 |
---|
Executor
>У тебя постоянно одна ошибка. Я тебе уже говорил про подобные ситуации.
в том случае я создавал контекст не в режиме ядра.
> Используешь 4.10, и используешь расширение, которое дублирует функционал ядра.
> Хз как тебя от этого отучить. :)
Каюсь наверное это будет лишняя строка, а результаты разве не будет одинаковы? ты думаешь в дровах различный код для выборки текстуры в случае ядра и использования расширения?
>У тебя постоянно одна ошибка. Я тебе уже говорил про подобные ситуации.
в том случае я создавал контекст не в режиме ядра.
> Используешь 4.10, и используешь расширение, которое дублирует функционал ядра.
> Хз как тебя от этого отучить. :)
Каюсь наверное это будет лишняя строка, а результаты разве не будет одинаковы? ты думаешь в дровах различный код для выборки текстуры в случае ядра и использования расширения?
ATI Fetch4 в OpenGL | 27 июня 2012 | 20:59 | #52 |
---|
innuendo
> Да хоть через hlsl :)
>
> У меня на AMD не работает vtf даже с профилем glsl. Вот такие пироги.
Пример nVidia Cg:
vertex_texture.c:
Вставляем после
вот это:
Работает на ATI HD 5670.
ссылка на проект Cg Example VertexTexture профиль GLSL работает на ATI HD 5670
> Да хоть через hlsl :)
>
> У меня на AMD не работает vtf даже с профилем glsl. Вот такие пироги.
Пример nVidia Cg:
vertex_texture.c:
Вставляем после
myCgVertexProfile = cgGLGetLatestProfile(CG_GL_VERTEX);
if (CG_PROFILE_ARBVP1 == myCgVertexProfile) { myCgVertexProfile = CG_PROFILE_GLSLV; }
ссылка на проект Cg Example VertexTexture профиль GLSL работает на ATI HD 5670
ATI Fetch4 в OpenGL | 27 июня 2012 | 18:34 | #51 |
---|
innuendo
> qsampler2D - это выбор между sampler2D, isampler2D, usampler2D :)
да я про это почитал в "спеках".
> ты через что компилишь ?
cgc.exe чем же еще ?? cgCreateProgram полный аналог если что, вообще странный вопрос.
> qsampler2D - это выбор между sampler2D, isampler2D, usampler2D :)
да я про это почитал в "спеках".
> ты через что компилишь ?
cgc.exe чем же еще ?? cgCreateProgram полный аналог если что, вообще странный вопрос.
ATI Fetch4 в OpenGL | 27 июня 2012 | 17:50 | #47 |
---|
innuendo
> > 1.glsl(6) : error C0000: syntax error, unexpected identifier, expecting '{'
> > at
> > token "tex"
> #extension GL_ARB_gpu_shader5 : enable
>
> ?
Не разрешении расширения дело, ему не нравится gsampler2D(номер строки внимательней отсчитай), если ставишь sampler2D, то:
1.glsl(13) : error C1115: unable to find compatible overloaded function "textureGather(sampler2D, vec2)
1.glsl(14) : error C1115: unable to find compatible overloaded function "textureGatherOffsets(sampler2D, vec2, ivec2[4])
хотя по идее должен компилить.
> > 1.glsl(6) : error C0000: syntax error, unexpected identifier, expecting '{'
> > at
> > token "tex"
> #extension GL_ARB_gpu_shader5 : enable
>
> ?
Не разрешении расширения дело, ему не нравится gsampler2D(номер строки внимательней отсчитай), если ставишь sampler2D, то:
1.glsl(13) : error C1115: unable to find compatible overloaded function "textureGather(sampler2D, vec2)
1.glsl(14) : error C1115: unable to find compatible overloaded function "textureGatherOffsets(sampler2D, vec2, ivec2[4])
хотя по идее должен компилить.