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

Alpha в тени (2 стр)

Страницы: 1 2
#15
17:51, 14 мая 2010

Так у меня нет шейдера записи глубины, есть только шейдер отрисовки теней.
ps

uniform sampler2D shd;
varying vec2 tc;

void main(void)
{
vec4 depth = texture2D(shd,tc.xy);

gl_FragColor = depth  ;
}

vs

varying vec2 tc;

void main(void)
{
tc = vec2(gl_MultiTexCoord0);
  
gl_Position = ftransform();
}

На выходе квадрат Малевича :)

#16
17:56, 14 мая 2010

BenTech
> gl_FragColor = depth

и ты пишешь при этом в depthTexture ?

у тебя не только квадрат Малевича, но полигон Жириновского получится :)

#17
18:05, 14 мая 2010

не, это не шейдер отрисовки теней :)

Это я этим шейдером пытаюсь вывести картинку из Depth на квад.

#18
18:07, 14 мая 2010

BenTech
> Это я этим шейдером пытаюсь вывести картинку из Depth на квад.

тогда так

float depth = texture2D().r;

depth = pow( depth, 4.0 );

gl_FragColor = vec4( depth, depth, depth, 1.0 );

#19
18:25, 14 мая 2010

Хм, все тот же черный квадрат.

Вот вопрос(по поводу квадрата), а если у меня depth текстура, то мб надо юзать samplerShadow2D? В статье про тени именно так и сделано. Если рендер во float текстуру, то sampler2D, а если depth, то shadow2D.

И еще один, а чем мне поможет визуализация содержимого этой текстуры в вопросе дырок в тенях, если тени без дырок работают без проблем? :)

#20
19:45, 14 мая 2010

МЫЛО
> PS: Хотя у меня в OpenGL discard жёстко артефачит, ATI Radeon HD 5770 (Catalyst
> 10.3, OpenGL Version 6.14), Vista SP2 (Platform Updated to support DirectX11

проверил, 10.4  работает

#21
20:56, 14 мая 2010

innuendo
> проверил, 10.4 работает
кста, у меня OpenGL 3.2.9704, контекст совместимости (почему-то на АТИ больше не получается включить OpenGL 2, до этого была возможность создать контекст версии 2.1 методами от GL3)
шейдеры от второй версии
Всё равно уже директом пользуюсь, в нём глюков меньше, а то с ОпенГЛ столько мучений =)

Страницы: 1 2
ПрограммированиеФорумГрафика

Тема в архиве.