здравствуйте Алексей Викторович, я сделал объемные лайтмапы через 3д текстуру, вот что получилось (текстура 64x32x64):
такая текстура весит 384 КБ это ладно, но если будут большие пространства, то понадобиться много таких текстур и это все будет занимать много места, поэтому я сделал DXT сжатие (DXT5), но теперь вместо сглажженых краев, получаются шумные края (Noise), знаю что можно как то эти края сглаживать в шейдере, вот у меня и вопрос, как это сделать??? вот код шейдера:
[Vertex shader] uniform mat4 ModelMatrix; varying vec4 pos; varying vec2 texCoord; void main(void) { gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; pos = ModelMatrix*gl_Vertex; texCoord = gl_MultiTexCoord0.xy; } [Fragment shader] uniform sampler3D lmap; uniform sampler2D cmap; uniform vec4 emin; uniform vec4 emax; varying vec4 pos; varying vec2 texCoord; void main(void) { vec4 size = emax-emin; vec4 cpos = (pos-emin)/(emax-emin); //cpos = cpos/size; vec4 color = texture2D(cmap,texCoord); vec4 intensity = texture3D(lmap,cpos.xyz); gl_FragColor = color*intensity; }