Сообщения на форуме пользователя Andrey (134 стр.)
Crystal Space (3D software development kit) | 5 июля 2007 | 21:17 | #14 |
---|
Gans
CS нету смысла с Ogre тягаться, смотрел как-то исходники CS местами вообще непонятно что...Но что-оттуда я использовал.
из открытых движков Ogre лидирует.
Но сообщество ты открывай я вступлю :)
CS нету смысла с Ogre тягаться, смотрел как-то исходники CS местами вообще непонятно что...Но что-оттуда я использовал.
из открытых движков Ogre лидирует.
Но сообщество ты открывай я вступлю :)
Шейдеры в OpenGL-e | 5 июля 2007 | 21:00 | #5 |
---|
VileDog(ck.UA)
используй glew и не надо сотни строк инициализации расширений OpenGL
используй glew и не надо сотни строк инициализации расширений OpenGL
Черные oбъекты,если GL_ARB_vertex_program используется без GL_ARB_fragment_program. | 3 июля 2007 | 23:45 | #21 |
---|
Итак проблема решена!
При отсутсвии пиксельного шейдера нужно установить параметры текстуры окружения.
при присутствии:
Всем спасибо тема закрыта.
При отсутсвии пиксельного шейдера нужно установить параметры текстуры окружения.
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
Не отображается тень на ландшафте, но отображается на плоскости. | 3 июля 2007 | 1:52 | #8 |
---|
OXOTHIK
XopcT
в общем нормали я посчитал до этого они были нулевые:
Вот получилось что ландшафт освещен но может не совсем правильно:
далее упрорстив шейдер приемника теней:
получилось вот что(красным выделены куски теней):
Что еще может быть не так?
XopcT
в общем нормали я посчитал до этого они были нулевые:
Вот получилось что ландшафт освещен но может не совсем правильно:
далее упрорстив шейдер приемника теней:
float4 PSmain(float2 tv: TEXCOORD0, float4 shadowCrd: TEXCOORD1, float3 depthDiffuseSpecular : TEXCOORD2) : COLOR { // Radial distance float depth = depthDiffuseSpecular.x; // Standard lighting float diffuse = depthDiffuseSpecular.y; float specular = depthDiffuseSpecular.z; // The depth of the fragment closest to the light float shadowMap = tex2Dproj(ShadowMap, shadowCrd).r; // If the depth is larger than the stored depth, this fragment // is not the closest to the light, that is we are in shadow. // Otherwise, we're lit. Add a bias to avoid precision issues. float shadow = (depth < shadowMap + shadowBias); return shadow;
Что еще может быть не так?
Черные oбъекты,если GL_ARB_vertex_program используется без GL_ARB_fragment_program. | 3 июля 2007 | 1:27 | #20 |
---|
innuendo
>Если отключить шейдеры - нормально работает?
конечно я же писал...
>Если отключить шейдеры - нормально работает?
конечно я же писал...
Черные oбъекты,если GL_ARB_vertex_program используется без GL_ARB_fragment_program. | 2 июля 2007 | 22:35 | #18 |
---|
innuendo
Не понял?
Не понял?
Черные oбъекты,если GL_ARB_vertex_program используется без GL_ARB_fragment_program. | 2 июля 2007 | 21:54 | #16 |
---|
innuendo
>Попробуй в своём ренденре без vs. но с простым fs
так работает для теста домножал на число, объект был светлей.
>Кинь на мыло исходники как рендеришь.
да там здоровый проект вместе с Direct3D/OpenAL/Lua и т.д.
Могу запостить кусок код полностью отвечающий за отрисовку и установку шейдера.
попробовал 15 пост знал что работать не будет. ну согласись это бред! :)
daedal
>не просто интересно на какую версию вершинный шейдер компилируется ?
в случае OpenGL нет понятия версии. компилю в профиль arbvp1, это вроде gотянет на vs_1_- vs_2_0 по аналогии с Direct3D,
а вот под Direct3D компилю как vs_1_1 наверное это ты хотел узнать?
All
короче нужно глубже копать может пойти на форум www.opengl.org ?
>Попробуй в своём ренденре без vs. но с простым fs
так работает для теста домножал на число, объект был светлей.
>Кинь на мыло исходники как рендеришь.
да там здоровый проект вместе с Direct3D/OpenAL/Lua и т.д.
Могу запостить кусок код полностью отвечающий за отрисовку и установку шейдера.
попробовал 15 пост знал что работать не будет. ну согласись это бред! :)
daedal
>не просто интересно на какую версию вершинный шейдер компилируется ?
в случае OpenGL нет понятия версии. компилю в профиль arbvp1, это вроде gотянет на vs_1_- vs_2_0 по аналогии с Direct3D,
а вот под Direct3D компилю как vs_1_1 наверное это ты хотел узнать?
All
короче нужно глубже копать может пойти на форум www.opengl.org ?
Не отображается тень на ландшафте, но отображается на плоскости. | 2 июля 2007 | 21:41 | #7 |
---|
OXOTHIK
VileDog(ck.UA)
XopcT
Ну вот я оказывается сильно стпурил забыл что нормали не простчитаны оставив их на потом.
Спасибо ща посчитаю...
VileDog(ck.UA)
XopcT
Ну вот я оказывается сильно стпурил забыл что нормали не простчитаны оставив их на потом.
Спасибо ща посчитаю...
Черные oбъекты,если GL_ARB_vertex_program используется без GL_ARB_fragment_program. | 1 июля 2007 | 23:05 | #12 |
---|
innuendo
Как теперь исправить текстурирование что-бы оно работало без пиксельного шейдера?
вот такой шейдер заставил корректно отображаться объект.
Как теперь исправить текстурирование что-бы оно работало без пиксельного шейдера?
Черные oбъекты,если GL_ARB_vertex_program используется без GL_ARB_fragment_program. | 1 июля 2007 | 23:00 | #11 |
---|
innuendo
>если появится сцена в цветах значит что-то с текстурированием,
ок теперь все есть.
>DiffSampler == 0?
нет индекс текстуры корректный. Но это то ни причем пиксельного шейдера то нет.
>glEnable( GL_TEXTURE_2D);
угу...
>попробуй включить освещение
не помогло :)
>если появится сцена в цветах значит что-то с текстурированием,
ок теперь все есть.
>DiffSampler == 0?
нет индекс текстуры корректный. Но это то ни причем пиксельного шейдера то нет.
>glEnable( GL_TEXTURE_2D);
угу...
>попробуй включить освещение
не помогло :)
Не отображается тень на ландшафте, но отображается на плоскости. | 1 июля 2007 | 22:04 | #3 |
---|
XopcT
А как нормали могут повлиятьна тень?
А как нормали могут повлиятьна тень?
Черные oбъекты,если GL_ARB_vertex_program используется без GL_ARB_fragment_program. | 1 июля 2007 | 21:56 | #9 |
---|
daedal
>для вершинного ставь версию 2_0 или 2_а.
не забывай что у меня проблема не с Direct3D, а с OpenGL где версии шейдеров совсем не так обозначаются.
>>innuendo
>>1) зачем смешивать ARB_fragment_program и ARB_fragment_shader?
>а где ты такое увидел?
>glUseProgramObjectARB; ? или я обозналася
ну это на всякий случшай если будет еще биндится GLSL
>Если ты пользуешься Gg то и используй cgBindProgram ... и др.
нет смысла использовать CG Run time он всме равно является прослойкой между OpenGL/Direct3D
лучше использовать его как компилятор в какй-либо профиль
>Что касается проблемы - проверь освещение и текстурирование ( какой текущий TMU )
>попробуй вначале без текстур, с одним цветом, так будет проще
>еще может замени float2 uv0 на float4
освещения нет
странная замена...
>для вершинного ставь версию 2_0 или 2_а.
не забывай что у меня проблема не с Direct3D, а с OpenGL где версии шейдеров совсем не так обозначаются.
>>innuendo
>>1) зачем смешивать ARB_fragment_program и ARB_fragment_shader?
>а где ты такое увидел?
>glUseProgramObjectARB; ? или я обозналася
ну это на всякий случшай если будет еще биндится GLSL
>Если ты пользуешься Gg то и используй cgBindProgram ... и др.
нет смысла использовать CG Run time он всме равно является прослойкой между OpenGL/Direct3D
лучше использовать его как компилятор в какй-либо профиль
>Что касается проблемы - проверь освещение и текстурирование ( какой текущий TMU )
>попробуй вначале без текстур, с одним цветом, так будет проще
>еще может замени float2 uv0 на float4
освещения нет
странная замена...
Не отображается тень на ландшафте, но отображается на плоскости. | 30 июня 2007 | 15:38 | #1 |
---|
?
Черные oбъекты,если GL_ARB_vertex_program используется без GL_ARB_fragment_program. | 30 июня 2007 | 15:29 | #5 |
---|
Спец
>Ты в вершинной программе все атрибуты вершины записываешь?
да конечно.
>Просто если, например, ты используешь текстурирование, но забудешь в вершинном шейдере подать координаты текстуры на выход,
>то фиксированный конвеер заглючит.
вот все передается:
vsOut.uv0 = uv0;
>Кста, у тебя цвет в вершинном шейдере не записывается. На GLSL надо было бы написать gl_FrontColor = gl_Color, в HLSL тоже чо-нить такое есть :)
в Direct3D на HLSL все у меня ок когда нет пиксельного шейдера, а причем тут GLSL ?
=A=L=X=
спасибо за совет.
innuendo
>1) зачем смешивать ARB_fragment_program и ARB_fragment_shader?
а где ты такое увидел?
2) зачем STATE.MATRIX.MVP.TRANSPOSE ? через STATE.MATRIX.MVP не работает?
не работает но дело то не в этом.
3) если используешь Cg, зачем glBindProgram?
а за чем мне Cg Run time от которого толку нет?
что-бы писать еще пару классов шейдеров?
>Ты в вершинной программе все атрибуты вершины записываешь?
да конечно.
>Просто если, например, ты используешь текстурирование, но забудешь в вершинном шейдере подать координаты текстуры на выход,
>то фиксированный конвеер заглючит.
вот все передается:
vsOut.uv0 = uv0;
>Кста, у тебя цвет в вершинном шейдере не записывается. На GLSL надо было бы написать gl_FrontColor = gl_Color, в HLSL тоже чо-нить такое есть :)
в Direct3D на HLSL все у меня ок когда нет пиксельного шейдера, а причем тут GLSL ?
=A=L=X=
спасибо за совет.
innuendo
>1) зачем смешивать ARB_fragment_program и ARB_fragment_shader?
а где ты такое увидел?
2) зачем STATE.MATRIX.MVP.TRANSPOSE ? через STATE.MATRIX.MVP не работает?
не работает но дело то не в этом.
3) если используешь Cg, зачем glBindProgram?
а за чем мне Cg Run time от которого толку нет?
что-бы писать еще пару классов шейдеров?
Некорректная отрисовка с помощью GL_ARB_vertex_buffer_object когда формат вершины содержит Tangent и Binormal | 30 июня 2007 | 0:29 | #2 |
---|
innuendoВсе проблема решена.
Просто последовательность в TBNVertex и Vertex пероменяны местами ноомаль и текстурные координаты.
Тема закрыта.
Просто последовательность в TBNVertex и Vertex пероменяны местами ноомаль и текстурные координаты.
Тема закрыта.