Cleanup.
This commit is contained in:
Родитель
ddf0959d35
Коммит
9ebcfab447
|
@ -15,7 +15,7 @@ uniform vec4 u_specular_shininess;
|
|||
uniform vec4 u_fog;
|
||||
uniform vec4 u_lightPosRadius;
|
||||
uniform vec4 u_lightRgbInnerR;
|
||||
SAMPLER2D(u_texStencil, 7);
|
||||
SAMPLER2D(s_texStencil, 1);
|
||||
|
||||
#define u_ambientPass u_params.x
|
||||
#define u_lightningPass u_params.y
|
||||
|
@ -68,7 +68,7 @@ void main()
|
|||
vec3 lightColor = calcLight(v_view, normal, viewDir) * u_lightningPass;
|
||||
|
||||
vec2 ndc = gl_FragCoord.xy * u_viewTexel.xy + u_viewTexel.xy * u_texelHalf;
|
||||
vec4 texcolor = texture2D(u_texStencil, ndc);
|
||||
vec4 texcolor = texture2D(s_texStencil, ndc);
|
||||
float s = (texcolor.x - texcolor.y) + 2.0 * (texcolor.z - texcolor.w);
|
||||
s *= u_useStencilTex;
|
||||
|
||||
|
|
|
@ -7,11 +7,11 @@ $input v_texcoord0
|
|||
|
||||
#include "../common/common.sh"
|
||||
uniform vec4 u_color;
|
||||
SAMPLER2D(u_texColor, 0);
|
||||
SAMPLER2D(s_texColor, 0);
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 tcolor = toLinear(texture2D(u_texColor, v_texcoord0));
|
||||
vec4 tcolor = toLinear(texture2D(s_texColor, v_texcoord0));
|
||||
|
||||
if (tcolor.x < 0.1) //OK for now.
|
||||
{
|
||||
|
|
|
@ -11,14 +11,16 @@ vec4 stencilColor(float _k)
|
|||
, float(abs(_k + 1.0) < 0.0001)/255.0
|
||||
, float(abs(_k - 2.0) < 0.0001)/255.0
|
||||
, float(abs(_k + 2.0) < 0.0001)/255.0
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
float k = 1.0;
|
||||
if (!gl_FrontFacing)
|
||||
{
|
||||
k = -k;
|
||||
}
|
||||
|
||||
gl_FragColor = stencilColor(k);
|
||||
}
|
||||
|
|
|
@ -11,14 +11,16 @@ vec4 stencilColor(float _k)
|
|||
, float(abs(_k + 1.0) < 0.0001)/255.0
|
||||
, float(abs(_k - 2.0) < 0.0001)/255.0
|
||||
, float(abs(_k + 2.0) < 0.0001)/255.0
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
float k = 2.0;
|
||||
if (!gl_FrontFacing)
|
||||
{
|
||||
k = -k;
|
||||
}
|
||||
|
||||
gl_FragColor = stencilColor(k);
|
||||
}
|
||||
|
|
|
@ -1,24 +1,26 @@
|
|||
/*
|
||||
* Copyright 2013-2014 Dario Manesku. All rights reserved.
|
||||
* License: http://www.opensource.org/licenses/BSD-2-Clause
|
||||
*/
|
||||
* Copyright 2013-2014 Dario Manesku. All rights reserved.
|
||||
* License: http://www.opensource.org/licenses/BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include "../common/common.sh"
|
||||
|
||||
vec4 stencilColor(float _k)
|
||||
{
|
||||
return vec4(float(abs(_k - 1.0) < 0.0001)/255.0
|
||||
, float(abs(_k + 1.0) < 0.0001)/255.0
|
||||
, float(abs(_k - 2.0) < 0.0001)/255.0
|
||||
, float(abs(_k + 2.0) < 0.0001)/255.0
|
||||
);
|
||||
return vec4(float(abs(_k - 1.0) < 0.0001)/255.0
|
||||
, float(abs(_k + 1.0) < 0.0001)/255.0
|
||||
, float(abs(_k - 2.0) < 0.0001)/255.0
|
||||
, float(abs(_k + 2.0) < 0.0001)/255.0
|
||||
);
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
float k = -1.0;
|
||||
if (gl_FrontFacing)
|
||||
k = -k;
|
||||
float k = -1.0;
|
||||
if (gl_FrontFacing)
|
||||
{
|
||||
k = -k;
|
||||
}
|
||||
|
||||
gl_FragColor = stencilColor(k);
|
||||
gl_FragColor = stencilColor(k);
|
||||
}
|
||||
|
|
|
@ -11,7 +11,9 @@ void main()
|
|||
{
|
||||
float k = v_k;
|
||||
if (!gl_FrontFacing)
|
||||
{
|
||||
k = -k;
|
||||
}
|
||||
|
||||
gl_FragColor.xyzw =
|
||||
vec4( float(abs(k - 1.0) < 0.0001)/255.0
|
||||
|
|
|
@ -6,9 +6,9 @@ $input v_texcoord0
|
|||
*/
|
||||
|
||||
#include "../common/common.sh"
|
||||
SAMPLER2D(u_texColor, 0);
|
||||
SAMPLER2D(s_texColor, 0);
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragColor = texture2D(u_texColor, v_texcoord0);
|
||||
gl_FragColor = texture2D(s_texColor, v_texcoord0);
|
||||
}
|
||||
|
|
|
@ -14,8 +14,8 @@ uniform vec4 u_specular_shininess;
|
|||
uniform vec4 u_fog;
|
||||
uniform vec4 u_lightPosRadius;
|
||||
uniform vec4 u_lightRgbInnerR;
|
||||
SAMPLER2D(u_texColor, 0);
|
||||
SAMPLER2D(u_texStencil, 7);
|
||||
SAMPLER2D(s_texColor, 0);
|
||||
SAMPLER2D(s_texStencil, 1);
|
||||
|
||||
#define u_ambientPass u_params.x
|
||||
#define u_lightningPass u_params.y
|
||||
|
@ -68,7 +68,7 @@ void main()
|
|||
vec3 lightColor = calcLight(v_view, normal, viewDir) * u_lightningPass;
|
||||
|
||||
vec2 ndc = gl_FragCoord.xy * u_viewTexel.xy + u_viewTexel.xy * u_texelHalf;
|
||||
vec4 texcolor = texture2D(u_texStencil, ndc);
|
||||
vec4 texcolor = texture2D(s_texStencil, ndc);
|
||||
float s = (texcolor.x - texcolor.y) + 2.0 * (texcolor.z - texcolor.w);
|
||||
s *= u_useStencilTex;
|
||||
|
||||
|
@ -77,7 +77,7 @@ void main()
|
|||
float fogFactor = 1.0/exp2(u_fogDensity*u_fogDensity*z*z*LOG2);
|
||||
fogFactor = clamp(fogFactor, 0.0, 1.0);
|
||||
|
||||
vec3 color = toLinear(texture2D(u_texColor, v_texcoord0)).xyz;
|
||||
vec3 color = toLinear(texture2D(s_texColor, v_texcoord0)).xyz;
|
||||
|
||||
vec3 ambient = toGamma(ambientColor * color);
|
||||
vec3 diffuse = toGamma(lightColor * color);
|
||||
|
|
|
@ -116,8 +116,8 @@ static float s_texelHalf = 0.0f;
|
|||
|
||||
static uint32_t s_viewMask = 0;
|
||||
|
||||
static bgfx::UniformHandle u_texColor;
|
||||
static bgfx::UniformHandle u_texStencil;
|
||||
static bgfx::UniformHandle s_texColor;
|
||||
static bgfx::UniformHandle s_texStencil;
|
||||
static bgfx::FrameBufferHandle s_stencilFb;
|
||||
|
||||
void setViewClearMask(uint32_t _viewMask, uint8_t _flags, uint32_t _rgba, float _depth, uint8_t _stencil)
|
||||
|
@ -1175,9 +1175,9 @@ struct Model
|
|||
// Set textures
|
||||
if (bgfx::invalidHandle != m_texture.idx)
|
||||
{
|
||||
bgfx::setTexture(0, u_texColor, m_texture);
|
||||
bgfx::setTexture(0, s_texColor, m_texture);
|
||||
}
|
||||
bgfx::setTexture(7, u_texStencil, s_stencilFb);
|
||||
bgfx::setTexture(1, s_texStencil, s_stencilFb);
|
||||
|
||||
// Apply render state
|
||||
::setRenderState(_renderState);
|
||||
|
@ -1897,8 +1897,8 @@ int _main_(int /*_argc*/, char** /*_argv*/)
|
|||
};
|
||||
s_stencilFb = bgfx::createFrameBuffer(BX_COUNTOF(fbtextures), fbtextures, true);
|
||||
|
||||
u_texColor = bgfx::createUniform("u_texColor", bgfx::UniformType::Int1);
|
||||
u_texStencil = bgfx::createUniform("u_texStencil", bgfx::UniformType::Int1);
|
||||
s_texColor = bgfx::createUniform("s_texColor", bgfx::UniformType::Int1);
|
||||
s_texStencil = bgfx::createUniform("s_texStencil", bgfx::UniformType::Int1);
|
||||
|
||||
bgfx::ProgramHandle programTextureLightning = loadProgram("vs_shadowvolume_texture_lightning", "fs_shadowvolume_texture_lightning");
|
||||
bgfx::ProgramHandle programColorLightning = loadProgram("vs_shadowvolume_color_lightning", "fs_shadowvolume_color_lightning" );
|
||||
|
@ -2843,8 +2843,8 @@ int _main_(int /*_argc*/, char** /*_argv*/)
|
|||
|
||||
s_uniforms.destroy();
|
||||
|
||||
bgfx::destroyUniform(u_texColor);
|
||||
bgfx::destroyUniform(u_texStencil);
|
||||
bgfx::destroyUniform(s_texColor);
|
||||
bgfx::destroyUniform(s_texStencil);
|
||||
bgfx::destroyFrameBuffer(s_stencilFb);
|
||||
|
||||
bgfx::destroyTexture(figureTex);
|
||||
|
|
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичные данные
examples/runtime/shaders/dx9/fs_shadowvolume_color_lightning.bin
Двоичные данные
examples/runtime/shaders/dx9/fs_shadowvolume_color_lightning.bin
Двоичный файл не отображается.
Двоичные данные
examples/runtime/shaders/dx9/fs_shadowvolume_color_texture.bin
Двоичные данные
examples/runtime/shaders/dx9/fs_shadowvolume_color_texture.bin
Двоичный файл не отображается.
Двоичные данные
examples/runtime/shaders/dx9/fs_shadowvolume_texture.bin
Двоичные данные
examples/runtime/shaders/dx9/fs_shadowvolume_texture.bin
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичные данные
examples/runtime/shaders/gles/fs_shadowvolume_color_texture.bin
Двоичные данные
examples/runtime/shaders/gles/fs_shadowvolume_color_texture.bin
Двоичный файл не отображается.
Двоичные данные
examples/runtime/shaders/gles/fs_shadowvolume_texture.bin
Двоичные данные
examples/runtime/shaders/gles/fs_shadowvolume_texture.bin
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичные данные
examples/runtime/shaders/glsl/fs_shadowvolume_color_texture.bin
Двоичные данные
examples/runtime/shaders/glsl/fs_shadowvolume_color_texture.bin
Двоичный файл не отображается.
Двоичные данные
examples/runtime/shaders/glsl/fs_shadowvolume_texture.bin
Двоичные данные
examples/runtime/shaders/glsl/fs_shadowvolume_texture.bin
Двоичный файл не отображается.
Двоичный файл не отображается.
Загрузка…
Ссылка в новой задаче