Renamed TextureRead to TextureShader.

This commit is contained in:
hiker 2015-05-17 00:04:19 +10:00
parent 329a4ac047
commit e0ef910137
10 changed files with 127 additions and 126 deletions

View File

@ -1,5 +1,5 @@
# Modify this file to change the last-modified date when you add/remove a file.
# This will then trigger a new cmake run automatically.
# This will then trigger a new cmake run automatically.
file(GLOB_RECURSE STK_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "src/*.hpp")
file(GLOB_RECURSE STK_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "src/*.cpp")
file(GLOB_RECURSE STK_SHADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "data/shaders/*")

View File

@ -21,7 +21,7 @@
#include "graphics/shader.hpp"
#include "graphics/shaders.hpp"
#include "graphics/shared_gpu_objects.hpp"
#include "graphics/texture_read.hpp"
#include "graphics/texture_shader.hpp"
#include "glwrap.hpp"
#include "utils/cpp2011.hpp"
@ -29,7 +29,7 @@
// ============================================================================
class Primitive2DList : public TextureRead<Primitive2DList, 1>
class Primitive2DList : public TextureShader<Primitive2DList, 1>
{
public:
Primitive2DList()
@ -42,7 +42,7 @@ public:
}; //Primitive2DList
// ============================================================================
class UniformColoredTextureRectShader : public TextureRead<UniformColoredTextureRectShader,1,
class UniformColoredTextureRectShader : public TextureShader<UniformColoredTextureRectShader,1,
core::vector2df, core::vector2df,
core::vector2df, core::vector2df,
video::SColor>
@ -60,7 +60,7 @@ public:
}; // UniformColoredTextureRectShader
// ============================================================================
class TextureRectShader : public TextureRead<TextureRectShader, 1,
class TextureRectShader : public TextureShader<TextureRectShader, 1,
core::vector2df, core::vector2df,
core::vector2df, core::vector2df>
{
@ -90,7 +90,7 @@ public:
// ============================================================================
class ColoredTextureRectShader : public TextureRead<ColoredTextureRectShader, 1,
class ColoredTextureRectShader : public TextureShader<ColoredTextureRectShader, 1,
core::vector2df, core::vector2df,
core::vector2df, core::vector2df>
{

View File

@ -26,7 +26,7 @@
#include <set>
class SpecularIBLGenerator : public TextureRead<SpecularIBLGenerator, 1,
class SpecularIBLGenerator : public TextureShader<SpecularIBLGenerator, 1,
core::matrix4, float >
{
public:

View File

@ -23,7 +23,7 @@
#include "graphics/particle_emitter.hpp"
#include "graphics/shaders.hpp"
#include "graphics/shared_gpu_objects.hpp"
#include "graphics/texture_read.hpp"
#include "graphics/texture_shader.hpp"
#include "guiengine/engine.hpp"
#include "io/file_manager.hpp"
@ -54,7 +54,7 @@ public:
/** A Shader to render particles.
*/
class SimpleParticleRender : public TextureRead<SimpleParticleRender, 2,
class SimpleParticleRender : public TextureShader<SimpleParticleRender, 2,
video::SColorf, video::SColorf>
{
public:
@ -74,7 +74,7 @@ public:
// ============================================================================
class FlipParticleRender : public TextureRead<FlipParticleRender, 2>
class FlipParticleRender : public TextureShader<FlipParticleRender, 2>
{
public:
FlipParticleRender()

View File

@ -43,7 +43,7 @@ using namespace video;
using namespace scene;
// ============================================================================
class Gaussian3HBlurShader : public TextureRead<Gaussian3HBlurShader, 1,
class Gaussian3HBlurShader : public TextureShader<Gaussian3HBlurShader, 1,
core::vector2df>
{
public:
@ -58,7 +58,7 @@ public:
}; // Gaussian3HBlurShader
// ============================================================================
class ComputeShadowBlurVShader : public TextureRead<ComputeShadowBlurVShader, 1,
class ComputeShadowBlurVShader : public TextureShader<ComputeShadowBlurVShader, 1,
core::vector2df,
std::vector<float> >
{
@ -76,7 +76,7 @@ public:
}; // ComputeShadowBlurVShader
// ============================================================================
class Gaussian6VBlurShader : public TextureRead<Gaussian6VBlurShader, 1,
class Gaussian6VBlurShader : public TextureShader<Gaussian6VBlurShader, 1,
core::vector2df, float>
{
public:
@ -91,7 +91,7 @@ public:
}; // Gaussian6VBlurShader
// ============================================================================
class Gaussian3VBlurShader : public TextureRead<Gaussian3VBlurShader, 1,
class Gaussian3VBlurShader : public TextureShader<Gaussian3VBlurShader, 1,
core::vector2df>
{
public:
@ -106,7 +106,7 @@ public:
}; // Gaussian3VBlurShader
// ============================================================================
class ComputeGaussian6VBlurShader : public TextureRead<ComputeGaussian6VBlurShader, 1,
class ComputeGaussian6VBlurShader : public TextureShader<ComputeGaussian6VBlurShader, 1,
core::vector2df,
std::vector<float> >
{
@ -124,7 +124,7 @@ public:
}; // ComputeGaussian6VBlurShader
// ============================================================================
class ComputeGaussian6HBlurShader : public TextureRead<ComputeGaussian6HBlurShader, 1,
class ComputeGaussian6HBlurShader : public TextureShader<ComputeGaussian6HBlurShader, 1,
core::vector2df,
std::vector<float> >
{
@ -142,7 +142,7 @@ public:
}; // ComputeGaussian6HBlurShader
// ============================================================================
class ComputeShadowBlurHShader : public TextureRead<ComputeShadowBlurHShader, 1,
class ComputeShadowBlurHShader : public TextureShader<ComputeShadowBlurHShader, 1,
core::vector2df,
std::vector<float> >
{
@ -159,7 +159,7 @@ public:
}; // ComputeShadowBlurHShader
// ============================================================================
class Gaussian6HBlurShader : public TextureRead<Gaussian6HBlurShader, 1,
class Gaussian6HBlurShader : public TextureShader<Gaussian6HBlurShader, 1,
core::vector2df, float>
{
public:
@ -174,7 +174,7 @@ public:
}; // Gaussian6HBlurShader
// ============================================================================
class Gaussian17TapHShader : public TextureRead<Gaussian17TapHShader, 2,
class Gaussian17TapHShader : public TextureShader<Gaussian17TapHShader, 2,
core::vector2df>
{
public:
@ -189,7 +189,7 @@ public:
}; // Gaussian17TapHShader
// ============================================================================
class ComputeGaussian17TapHShader : public TextureRead<ComputeGaussian17TapHShader, 2,
class ComputeGaussian17TapHShader : public TextureShader<ComputeGaussian17TapHShader, 2,
core::vector2df>
{
public:
@ -207,7 +207,7 @@ public:
// ============================================================================
class Gaussian17TapVShader : public TextureRead<Gaussian17TapVShader, 2,
class Gaussian17TapVShader : public TextureShader<Gaussian17TapVShader, 2,
core::vector2df>
{
public:
@ -223,7 +223,7 @@ public:
}; // Gaussian17TapVShader
// ============================================================================
class ComputeGaussian17TapVShader : public TextureRead<ComputeGaussian17TapVShader, 2,
class ComputeGaussian17TapVShader : public TextureShader<ComputeGaussian17TapVShader, 2,
core::vector2df>
{
public:
@ -241,7 +241,7 @@ public:
}; // ComputeGaussian17TapVShader
// ============================================================================
class BloomShader : public TextureRead<BloomShader, 1>
class BloomShader : public TextureShader<BloomShader, 1>
{
public:
BloomShader()
@ -256,7 +256,7 @@ public:
}; // BloomShader
// ============================================================================
class BloomBlendShader : public TextureRead<BloomBlendShader, 3>
class BloomBlendShader : public TextureShader<BloomBlendShader, 3>
{
public:
BloomBlendShader()
@ -271,7 +271,7 @@ public:
}; // BloomBlendShader
// ============================================================================
class LensBlendShader : public TextureRead<LensBlendShader, 3>
class LensBlendShader : public TextureShader<LensBlendShader, 3>
{
public:
LensBlendShader()
@ -287,7 +287,7 @@ public:
}; // LensBlendShader
// ============================================================================
class ToneMapShader : public TextureRead<ToneMapShader, 1, float>
class ToneMapShader : public TextureShader<ToneMapShader, 1, float>
{
public:
@ -303,7 +303,7 @@ public:
}; // ToneMapShader
// ============================================================================
class DepthOfFieldShader : public TextureRead<DepthOfFieldShader, 2>
class DepthOfFieldShader : public TextureShader<DepthOfFieldShader, 2>
{
public:
DepthOfFieldShader()
@ -318,7 +318,7 @@ public:
}; // DepthOfFieldShader
// ============================================================================
class IBLShader : public TextureRead<IBLShader, 3>
class IBLShader : public TextureShader<IBLShader, 3>
{
public:
IBLShader()
@ -337,7 +337,7 @@ public:
}; // IBLShader
// ============================================================================
class DegradedIBLShader : public TextureRead<DegradedIBLShader, 1>
class DegradedIBLShader : public TextureShader<DegradedIBLShader, 1>
{
public:
DegradedIBLShader()

View File

@ -77,7 +77,7 @@ layout(location = 6) in vec3 Bitangent;
*/
// ============================================================================
class InstancedObjectPass1Shader : public TextureRead<InstancedObjectPass1Shader, 1>
class InstancedObjectPass1Shader : public TextureShader<InstancedObjectPass1Shader, 1>
{
public:
InstancedObjectPass1Shader()
@ -94,7 +94,7 @@ public:
}; // class InstancedObjectPass1Shader
// ============================================================================
class InstancedObjectRefPass1Shader : public TextureRead<InstancedObjectRefPass1Shader, 2>
class InstancedObjectRefPass1Shader : public TextureShader<InstancedObjectRefPass1Shader, 2>
{
public:
InstancedObjectRefPass1Shader()
@ -113,7 +113,7 @@ public:
}; // InstancedObjectRefPass1Shader
// ============================================================================
class ObjectRefPass2Shader : public TextureRead<ObjectRefPass2Shader, 5,
class ObjectRefPass2Shader : public TextureShader<ObjectRefPass2Shader, 5,
core::matrix4, core::matrix4>
{
public:
@ -133,7 +133,7 @@ public:
}; // ObjectRefPass2Shader
// ============================================================================
class InstancedObjectPass2Shader : public TextureRead<InstancedObjectPass2Shader, 5>
class InstancedObjectPass2Shader : public TextureShader<InstancedObjectPass2Shader, 5>
{
public:
InstancedObjectPass2Shader()
@ -152,7 +152,7 @@ public:
}; // InstancedObjectPass2Shader
// ============================================================================
class InstancedObjectRefPass2Shader : public TextureRead<InstancedObjectRefPass2Shader, 5>
class InstancedObjectRefPass2Shader : public TextureShader<InstancedObjectRefPass2Shader, 5>
{
public:
InstancedObjectRefPass2Shader()
@ -172,7 +172,7 @@ public:
}; // InstancedObjectRefPass2Shader
// ============================================================================
class ShadowShader : public TextureRead<ShadowShader, 0, int, core::matrix4>
class ShadowShader : public TextureShader<ShadowShader, 0, int, core::matrix4>
{
public:
ShadowShader()
@ -196,7 +196,7 @@ public:
}; // ShadowShader
// ============================================================================
class InstancedShadowShader : public TextureRead<InstancedShadowShader, 0, int>
class InstancedShadowShader : public TextureShader<InstancedShadowShader, 0, int>
{
public:
InstancedShadowShader()
@ -223,7 +223,7 @@ public:
}; // InstancedShadowShader
// ============================================================================
class CRSMShader : public TextureRead<CRSMShader, 1, core::matrix4, core::matrix4,
class CRSMShader : public TextureShader<CRSMShader, 1, core::matrix4, core::matrix4,
core::matrix4>
{
public:
@ -240,7 +240,7 @@ public:
// ============================================================================
class SplattingRSMShader : public TextureRead<SplattingRSMShader, 5, core::matrix4,
class SplattingRSMShader : public TextureShader<SplattingRSMShader, 5, core::matrix4,
core::matrix4>
{
public:
@ -261,7 +261,7 @@ public:
}; // SplattingRSMShader
// ============================================================================
class CInstancedRSMShader : public TextureRead<CInstancedRSMShader, 1, core::matrix4>
class CInstancedRSMShader : public TextureShader<CInstancedRSMShader, 1, core::matrix4>
{
public:
CInstancedRSMShader()
@ -277,7 +277,7 @@ public:
}; // CInstancedRSMShader
// ============================================================================
class SphereMapShader : public TextureRead<SphereMapShader, 4, core::matrix4,
class SphereMapShader : public TextureShader<SphereMapShader, 4, core::matrix4,
core::matrix4>
{
public:
@ -297,7 +297,7 @@ public:
}; // SphereMapShader
// ============================================================================
class InstancedSphereMapShader : public TextureRead<InstancedSphereMapShader, 4>
class InstancedSphereMapShader : public TextureShader<InstancedSphereMapShader, 4>
{
public:
InstancedSphereMapShader()
@ -317,7 +317,7 @@ public:
}; // InstancedSphereMapShader
// ============================================================================
class SplattingShader : public TextureRead<SplattingShader, 8, core::matrix4>
class SplattingShader : public TextureShader<SplattingShader, 8, core::matrix4>
{
public:
SplattingShader()
@ -340,7 +340,7 @@ public:
}; // SplattingShader
// ============================================================================
class ObjectRefPass1Shader : public TextureRead<ObjectRefPass1Shader, 2, core::matrix4,
class ObjectRefPass1Shader : public TextureShader<ObjectRefPass1Shader, 2, core::matrix4,
core::matrix4, core::matrix4>
{
public:
@ -358,7 +358,7 @@ public:
// ============================================================================
class NormalMapShader : public TextureRead<NormalMapShader, 2, core::matrix4,
class NormalMapShader : public TextureShader<NormalMapShader, 2, core::matrix4,
core::matrix4>
{
public:
@ -376,7 +376,7 @@ public:
}; // NormalMapShader
// ============================================================================
class InstancedNormalMapShader : public TextureRead<InstancedNormalMapShader, 2>
class InstancedNormalMapShader : public TextureShader<InstancedNormalMapShader, 2>
{
public:
InstancedNormalMapShader()
@ -393,7 +393,7 @@ public:
}; // InstancedNormalMapShader
// ============================================================================
class ObjectUnlitShader : public TextureRead<ObjectUnlitShader, 4, core::matrix4,
class ObjectUnlitShader : public TextureShader<ObjectUnlitShader, 4, core::matrix4,
core::matrix4>
{
public:
@ -411,7 +411,7 @@ public:
}; // ObjectUnlitShader
// ============================================================================
class InstancedObjectUnlitShader : public TextureRead<InstancedObjectUnlitShader, 4>
class InstancedObjectUnlitShader : public TextureShader<InstancedObjectUnlitShader, 4>
{
public:
InstancedObjectUnlitShader()
@ -548,7 +548,7 @@ const STK::Tuple<size_t> UnlitMat::ShadowTextures = STK::Tuple<size_t>(0);
const STK::Tuple<size_t> UnlitMat::RSMTextures = STK::Tuple<size_t>(0);
// ============================================================================
class GrassPass1Shader : public TextureRead<GrassPass1Shader, 2, core::matrix4,
class GrassPass1Shader : public TextureShader<GrassPass1Shader, 2, core::matrix4,
core::matrix4, core::vector3df>
{
public:
@ -566,7 +566,7 @@ public:
}; // class GrassPass1Shader
// ============================================================================
class InstancedGrassPass1Shader : public TextureRead<InstancedGrassPass1Shader, 2,
class InstancedGrassPass1Shader : public TextureShader<InstancedGrassPass1Shader, 2,
core::vector3df>
{
public:
@ -584,7 +584,7 @@ public:
}; // InstancedGrassPass1Shader
// ============================================================================
class GrassShadowShader : public TextureRead<GrassShadowShader, 1, int, core::matrix4,
class GrassShadowShader : public TextureShader<GrassShadowShader, 1, int, core::matrix4,
core::vector3df>
{
public:
@ -611,7 +611,7 @@ public:
}; // GrassShadowShader
// ============================================================================
class InstancedGrassShadowShader : public TextureRead<InstancedGrassShadowShader, 1,
class InstancedGrassShadowShader : public TextureShader<InstancedGrassShadowShader, 1,
int, core::vector3df>
{
public:
@ -642,7 +642,7 @@ public:
// ============================================================================
class GrassPass2Shader : public TextureRead<GrassPass2Shader, 5, core::matrix4,
class GrassPass2Shader : public TextureShader<GrassPass2Shader, 5, core::matrix4,
core::vector3df>
{
public:
@ -662,7 +662,7 @@ public:
}; // GrassPass2Shader
// ============================================================================
class InstancedGrassPass2Shader : public TextureRead<InstancedGrassPass2Shader, 6,
class InstancedGrassPass2Shader : public TextureShader<InstancedGrassPass2Shader, 6,
core::vector3df, core::vector3df>
{
public:
@ -684,7 +684,7 @@ public:
}; // InstancedGrassPass2Shader
// ============================================================================
class DetailedObjectPass2Shader : public TextureRead<DetailedObjectPass2Shader, 6,
class DetailedObjectPass2Shader : public TextureShader<DetailedObjectPass2Shader, 6,
core::matrix4>
{
public:
@ -704,7 +704,7 @@ public:
}; // DetailedObjectPass2Shader
// ============================================================================
class InstancedDetailedObjectPass2Shader : public TextureRead<InstancedDetailedObjectPass2Shader, 6>
class InstancedDetailedObjectPass2Shader : public TextureShader<InstancedDetailedObjectPass2Shader, 6>
{
public:
InstancedDetailedObjectPass2Shader()

View File

@ -21,7 +21,7 @@
#include "config/user_config.hpp"
#include "graphics/shader.hpp"
#include "graphics/shared_gpu_objects.hpp"
#include "graphics/texture_read.hpp"
#include "graphics/texture_shader.hpp"
#include <IMeshSceneNode.h>
#include <IShaderConstantSetCallBack.h>
@ -34,7 +34,7 @@ class ParticleSystemProxy;
namespace MeshShader
{
class ObjectPass1Shader : public TextureRead<ObjectPass1Shader, 1,
class ObjectPass1Shader : public TextureShader<ObjectPass1Shader, 1,
core::matrix4, core::matrix4>
{
public:
@ -43,7 +43,7 @@ public:
class ObjectPass2Shader : public TextureRead<ObjectPass2Shader, 5, core::matrix4, core::matrix4>
class ObjectPass2Shader : public TextureShader<ObjectPass2Shader, 5, core::matrix4, core::matrix4>
{
public:
ObjectPass2Shader();
@ -52,13 +52,13 @@ public:
class TransparentShader : public TextureRead<TransparentShader, 1, core::matrix4, core::matrix4>
class TransparentShader : public TextureShader<TransparentShader, 1, core::matrix4, core::matrix4>
{
public:
TransparentShader();
};
class TransparentFogShader : public TextureRead<TransparentFogShader, 1, core::matrix4, core::matrix4, float, float,
class TransparentFogShader : public TextureShader<TransparentFogShader, 1, core::matrix4, core::matrix4, float, float,
float, float, float, video::SColorf>
{
public:
@ -80,13 +80,13 @@ public:
class RefShadowShader : public TextureRead<RefShadowShader, 1, int, core::matrix4>
class RefShadowShader : public TextureShader<RefShadowShader, 1, int, core::matrix4>
{
public:
RefShadowShader();
};
class InstancedRefShadowShader : public TextureRead<InstancedRefShadowShader, 1, int>
class InstancedRefShadowShader : public TextureShader<InstancedRefShadowShader, 1, int>
{
public:
InstancedRefShadowShader();
@ -99,14 +99,14 @@ public:
DisplaceMaskShader();
};
class DisplaceShader : public TextureRead<DisplaceShader, 4, core::matrix4,
class DisplaceShader : public TextureShader<DisplaceShader, 4, core::matrix4,
core::vector2df, core::vector2df>
{
public:
DisplaceShader();
};
class SkyboxShader : public TextureRead<SkyboxShader,1>
class SkyboxShader : public TextureShader<SkyboxShader,1>
{
public:
SkyboxShader();
@ -146,7 +146,7 @@ namespace LightShader
};
class PointLightShader : public TextureRead<PointLightShader, 2>
class PointLightShader : public TextureShader<PointLightShader, 2>
{
public:
GLuint vbo;
@ -154,7 +154,7 @@ namespace LightShader
PointLightShader();
};
class PointLightScatterShader : public TextureRead<PointLightScatterShader, 1, float, core::vector3df>
class PointLightScatterShader : public TextureShader<PointLightScatterShader, 1, float, core::vector3df>
{
public:
GLuint vbo;
@ -177,25 +177,25 @@ namespace FullScreenShader
{
class SunLightShader : public TextureRead<SunLightShader, 2, core::vector3df, video::SColorf>
class SunLightShader : public TextureShader<SunLightShader, 2, core::vector3df, video::SColorf>
{
public:
SunLightShader();
};
class ShadowedSunLightShaderPCF : public TextureRead<ShadowedSunLightShaderPCF, 3, float, float, float, float, float>
class ShadowedSunLightShaderPCF : public TextureShader<ShadowedSunLightShaderPCF, 3, float, float, float, float, float>
{
public:
ShadowedSunLightShaderPCF();
};
class ShadowedSunLightShaderESM : public TextureRead<ShadowedSunLightShaderESM, 3, float, float, float, float>
class ShadowedSunLightShaderESM : public TextureShader<ShadowedSunLightShaderESM, 3, float, float, float, float>
{
public:
ShadowedSunLightShaderESM();
};
class RadianceHintsConstructionShader : public TextureRead<RadianceHintsConstructionShader, 3, core::matrix4,
class RadianceHintsConstructionShader : public TextureShader<RadianceHintsConstructionShader, 3, core::matrix4,
core::matrix4, core::vector3df, video::SColorf>
{
public:
@ -203,7 +203,7 @@ public:
};
// Workaround for a bug found in kepler nvidia linux and fermi nvidia windows
class NVWorkaroundRadianceHintsConstructionShader : public TextureRead<NVWorkaroundRadianceHintsConstructionShader,
class NVWorkaroundRadianceHintsConstructionShader : public TextureShader<NVWorkaroundRadianceHintsConstructionShader,
3, core::matrix4, core::matrix4, core::vector3df,
int, video::SColorf>
{
@ -219,21 +219,21 @@ public:
RHDebug();
};
class GlobalIlluminationReconstructionShader : public TextureRead<GlobalIlluminationReconstructionShader, 5,
class GlobalIlluminationReconstructionShader : public TextureShader<GlobalIlluminationReconstructionShader, 5,
core::matrix4, core::matrix4, core::vector3df>
{
public:
GlobalIlluminationReconstructionShader();
};
class HorizontalBlurShader : public TextureRead<HorizontalBlurShader, 1, core::vector2df>
class HorizontalBlurShader : public TextureShader<HorizontalBlurShader, 1, core::vector2df>
{
public:
HorizontalBlurShader();
};
class PassThroughShader : public TextureRead<PassThroughShader, 1, int, int>
class PassThroughShader : public TextureShader<PassThroughShader, 1, int, int>
{
public:
PassThroughShader();
@ -248,13 +248,13 @@ public:
LayerPassThroughShader();
};
class LinearizeDepthShader : public TextureRead<LinearizeDepthShader, 1, float, float>
class LinearizeDepthShader : public TextureShader<LinearizeDepthShader, 1, float, float>
{
public:
LinearizeDepthShader();
};
class LightspaceBoundingBoxShader : public TextureRead<LightspaceBoundingBoxShader, 1,
class LightspaceBoundingBoxShader : public TextureShader<LightspaceBoundingBoxShader, 1,
core::matrix4, float, float,
float, float>
{
@ -268,13 +268,13 @@ public:
ShadowMatrixesGenerationShader();
};
class DepthHistogramShader : public TextureRead<DepthHistogramShader, 1>
class DepthHistogramShader : public TextureShader<DepthHistogramShader, 1>
{
public:
DepthHistogramShader();
};
class GlowShader : public TextureRead<GlowShader, 1>
class GlowShader : public TextureShader<GlowShader, 1>
{
public:
GLuint vao;
@ -282,49 +282,49 @@ public:
GlowShader();
};
class SSAOShader : public TextureRead<SSAOShader, 1, float, float, float>
class SSAOShader : public TextureShader<SSAOShader, 1, float, float, float>
{
public:
SSAOShader();
};
class FogShader : public TextureRead<FogShader, 1, float, core::vector3df>
class FogShader : public TextureShader<FogShader, 1, float, core::vector3df>
{
public:
FogShader();
};
class MotionBlurShader : public TextureRead<MotionBlurShader, 2, core::matrix4, core::vector2df, float, float>
class MotionBlurShader : public TextureShader<MotionBlurShader, 2, core::matrix4, core::vector2df, float, float>
{
public:
MotionBlurShader();
};
class GodFadeShader : public TextureRead<GodFadeShader, 1, video::SColorf>
class GodFadeShader : public TextureShader<GodFadeShader, 1, video::SColorf>
{
public:
GodFadeShader();
};
class GodRayShader : public TextureRead<GodRayShader, 1, core::vector2df>
class GodRayShader : public TextureShader<GodRayShader, 1, core::vector2df>
{
public:
GodRayShader();
};
class MLAAColorEdgeDetectionSHader : public TextureRead<MLAAColorEdgeDetectionSHader, 1, core::vector2df>
class MLAAColorEdgeDetectionSHader : public TextureShader<MLAAColorEdgeDetectionSHader, 1, core::vector2df>
{
public:
MLAAColorEdgeDetectionSHader();
};
class MLAABlendWeightSHader : public TextureRead<MLAABlendWeightSHader, 2, core::vector2df>
class MLAABlendWeightSHader : public TextureShader<MLAABlendWeightSHader, 2, core::vector2df>
{
public:
MLAABlendWeightSHader();
};
class MLAAGatherSHader : public TextureRead<MLAAGatherSHader, 2, core::vector2df>
class MLAAGatherSHader : public TextureShader<MLAAGatherSHader, 2, core::vector2df>
{
public:
MLAAGatherSHader();

View File

@ -30,7 +30,7 @@ using namespace irr;
static GLuint billboardvao = 0;
class BillboardShader : public TextureRead<BillboardShader, 1, core::matrix4,
class BillboardShader : public TextureShader<BillboardShader, 1, core::matrix4,
core::matrix4, core::vector3df,
core::dimension2df>
{

View File

@ -16,24 +16,24 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "graphics/texture_read.hpp"
#include "graphics/texture_shader.hpp"
#include "config/user_config.hpp"
TextureReadBaseNew::BindFunction TextureReadBaseNew::m_all_bind_functions[] =
{ /* ST_NEAREST_FILTERED */ &TextureReadBaseNew::bindTextureNearest,
/* ST_TRILINEAR_ANISOTROPIC_FILTERED */ &TextureReadBaseNew::bindTextureTrilinearAnisotropic,
/* ST_TRILINEAR_CUBEMAP */ &TextureReadBaseNew::bindCubemapTrilinear,
/* ST_BILINEAR_FILTERED */ &TextureReadBaseNew::bindTextureBilinear,
/* ST_SHADOW_SAMPLER */ &TextureReadBaseNew::bindTextureShadow,
/* ST_TRILINEAR_CLAMPED_ARRAY2D */ &TextureReadBaseNew::bindTrilinearClampedArrayTexture,
/* ST_VOLUME_LINEAR_FILTERED */ &TextureReadBaseNew::bindTextureVolume,
/* ST_NEARED_CLAMPED_FILTERED */ &TextureReadBaseNew::bindTextureNearestClamped,
/* ST_BILINEAR_CLAMPED_FILTERED */ &TextureReadBaseNew::bindTextureBilinearClamped,
/* ST_SEMI_TRILINEAR */ &TextureReadBaseNew::bindTextureSemiTrilinear
TextureShaderBase::BindFunction TextureShaderBase::m_all_bind_functions[] =
{ /* ST_NEAREST_FILTERED */ &TextureShaderBase::bindTextureNearest,
/* ST_TRILINEAR_ANISOTROPIC_FILTERED */ &TextureShaderBase::bindTextureTrilinearAnisotropic,
/* ST_TRILINEAR_CUBEMAP */ &TextureShaderBase::bindCubemapTrilinear,
/* ST_BILINEAR_FILTERED */ &TextureShaderBase::bindTextureBilinear,
/* ST_SHADOW_SAMPLER */ &TextureShaderBase::bindTextureShadow,
/* ST_TRILINEAR_CLAMPED_ARRAY2D */ &TextureShaderBase::bindTrilinearClampedArrayTexture,
/* ST_VOLUME_LINEAR_FILTERED */ &TextureShaderBase::bindTextureVolume,
/* ST_NEARED_CLAMPED_FILTERED */ &TextureShaderBase::bindTextureNearestClamped,
/* ST_BILINEAR_CLAMPED_FILTERED */ &TextureShaderBase::bindTextureBilinearClamped,
/* ST_SEMI_TRILINEAR */ &TextureShaderBase::bindTextureSemiTrilinear
};
GLuint TextureReadBaseNew::m_all_texture_types[] =
GLuint TextureShaderBase::m_all_texture_types[] =
{ /* ST_NEAREST_FILTERED */ GL_TEXTURE_2D,
/* ST_TRILINEAR_ANISOTROPIC_FILTERED */ GL_TEXTURE_2D,
/* ST_TRILINEAR_CUBEMAP */ GL_TEXTURE_CUBE_MAP,
@ -47,7 +47,7 @@ GLuint TextureReadBaseNew::m_all_texture_types[] =
};
// ----------------------------------------------------------------------------
void TextureReadBaseNew::bindTextureNearest(GLuint texture_unit, GLuint tex)
void TextureShaderBase::bindTextureNearest(GLuint texture_unit, GLuint tex)
{
glActiveTexture(GL_TEXTURE0 + texture_unit);
glBindTexture(GL_TEXTURE_2D, tex);
@ -60,7 +60,7 @@ void TextureReadBaseNew::bindTextureNearest(GLuint texture_unit, GLuint tex)
} // bindTextureNearest
// ----------------------------------------------------------------------------
void TextureReadBaseNew::bindTextureTrilinearAnisotropic(GLuint tex_unit, GLuint tex)
void TextureShaderBase::bindTextureTrilinearAnisotropic(GLuint tex_unit, GLuint tex)
{
glActiveTexture(GL_TEXTURE0 + tex_unit);
glBindTexture(GL_TEXTURE_2D, tex);
@ -75,7 +75,7 @@ void TextureReadBaseNew::bindTextureTrilinearAnisotropic(GLuint tex_unit, GLuint
} // bindTextureTrilinearAnisotropic
// ----------------------------------------------------------------------------
void TextureReadBaseNew::bindCubemapTrilinear(unsigned tex_unit, unsigned tex)
void TextureShaderBase::bindCubemapTrilinear(unsigned tex_unit, unsigned tex)
{
glActiveTexture(GL_TEXTURE0 + tex_unit);
glBindTexture(GL_TEXTURE_CUBE_MAP, tex);
@ -91,7 +91,7 @@ void TextureReadBaseNew::bindCubemapTrilinear(unsigned tex_unit, unsigned tex)
} // bindCubemapTrilinear
// ----------------------------------------------------------------------------
void TextureReadBaseNew::bindTextureNearestClamped(GLuint texture_unit,
void TextureShaderBase::bindTextureNearestClamped(GLuint texture_unit,
GLuint tex_id)
{
glActiveTexture(GL_TEXTURE0 + texture_unit);
@ -106,7 +106,7 @@ void TextureReadBaseNew::bindTextureNearestClamped(GLuint texture_unit,
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
void TextureReadBaseNew::bindTextureBilinear(GLuint texture_unit, GLuint tex)
void TextureShaderBase::bindTextureBilinear(GLuint texture_unit, GLuint tex)
{
glActiveTexture(GL_TEXTURE0 + texture_unit);
glBindTexture(GL_TEXTURE_2D, tex);
@ -118,7 +118,7 @@ void TextureReadBaseNew::bindTextureBilinear(GLuint texture_unit, GLuint tex)
} // bindTextureBilinear
// ----------------------------------------------------------------------------
void TextureReadBaseNew::bindTextureBilinearClamped(GLuint tex_unit, GLuint tex)
void TextureShaderBase::bindTextureBilinearClamped(GLuint tex_unit, GLuint tex)
{
glActiveTexture(GL_TEXTURE0 + tex_unit);
glBindTexture(GL_TEXTURE_2D, tex);
@ -130,7 +130,7 @@ void TextureReadBaseNew::bindTextureBilinearClamped(GLuint tex_unit, GLuint tex)
} // bindTextureBilinearClamped
// ----------------------------------------------------------------------------
void TextureReadBaseNew::bindTextureSemiTrilinear(GLuint tex_unit, GLuint tex_id)
void TextureShaderBase::bindTextureSemiTrilinear(GLuint tex_unit, GLuint tex_id)
{
glActiveTexture(GL_TEXTURE0 + tex_unit);
glBindTexture(GL_TEXTURE_2D, tex_id);
@ -142,7 +142,7 @@ void TextureReadBaseNew::bindTextureSemiTrilinear(GLuint tex_unit, GLuint tex_id
} // bindTextureSemiTrilinear
// ----------------------------------------------------------------------------
void TextureReadBaseNew::bindTextureShadow(GLuint tex_unit, GLuint tex_id)
void TextureShaderBase::bindTextureShadow(GLuint tex_unit, GLuint tex_id)
{
glActiveTexture(GL_TEXTURE0 + tex_unit);
glBindTexture(GL_TEXTURE_2D_ARRAY, tex_id);
@ -155,7 +155,7 @@ void TextureReadBaseNew::bindTextureShadow(GLuint tex_unit, GLuint tex_id)
} // bindTextureShadow
// ----------------------------------------------------------------------------
void TextureReadBaseNew::bindTrilinearClampedArrayTexture(unsigned tex_unit,
void TextureShaderBase::bindTrilinearClampedArrayTexture(unsigned tex_unit,
unsigned tex_id)
{
glActiveTexture(GL_TEXTURE0 + tex_unit);
@ -171,7 +171,7 @@ void TextureReadBaseNew::bindTrilinearClampedArrayTexture(unsigned tex_unit,
} // bindTrilinearClampedArrayTexture
// ----------------------------------------------------------------------------
void TextureReadBaseNew::bindTextureVolume(unsigned tex_unit, unsigned tex_id)
void TextureShaderBase::bindTextureVolume(unsigned tex_unit, unsigned tex_id)
{
glActiveTexture(GL_TEXTURE0 + tex_unit);
glBindTexture(GL_TEXTURE_3D, tex_id);
@ -184,7 +184,7 @@ void TextureReadBaseNew::bindTextureVolume(unsigned tex_unit, unsigned tex_id)
// ----------------------------------------------------------------------------
GLuint TextureReadBaseNew::createSamplers(SamplerTypeNew sampler_type)
GLuint TextureShaderBase::createSamplers(SamplerTypeNew sampler_type)
{
switch (sampler_type)
{
@ -225,7 +225,7 @@ GLuint TextureReadBaseNew::createSamplers(SamplerTypeNew sampler_type)
} // createSamplers
// ----------------------------------------------------------------------------
GLuint TextureReadBaseNew::createNearestSampler()
GLuint TextureShaderBase::createNearestSampler()
{
#ifdef GL_VERSION_3_3
unsigned id;
@ -240,7 +240,7 @@ GLuint TextureReadBaseNew::createNearestSampler()
} // createNearestSampler
// ----------------------------------------------------------------------------
GLuint TextureReadBaseNew::createTrilinearSampler()
GLuint TextureShaderBase::createTrilinearSampler()
{
#ifdef GL_VERSION_3_3
unsigned id;
@ -258,7 +258,7 @@ GLuint TextureReadBaseNew::createTrilinearSampler()
} // createTrilinearSampler
// ----------------------------------------------------------------------------
GLuint TextureReadBaseNew::createBilinearSampler()
GLuint TextureShaderBase::createBilinearSampler()
{
#ifdef GL_VERSION_3_3
unsigned id;
@ -272,7 +272,7 @@ GLuint TextureReadBaseNew::createBilinearSampler()
#endif
} // createBilinearSampler
// ----------------------------------------------------------------------------
GLuint TextureReadBaseNew::createShadowSampler()
GLuint TextureShaderBase::createShadowSampler()
{
#ifdef GL_VERSION_3_3
unsigned id;
@ -288,7 +288,7 @@ GLuint TextureReadBaseNew::createShadowSampler()
} // createShadowSampler
// ----------------------------------------------------------------------------
GLuint TextureReadBaseNew::createBilinearClampedSampler()
GLuint TextureShaderBase::createBilinearClampedSampler()
{
#ifdef GL_VERSION_3_3
unsigned id;
@ -304,7 +304,7 @@ GLuint TextureReadBaseNew::createBilinearClampedSampler()
// ----------------------------------------------------------------------------
GLuint TextureReadBaseNew::createTrilinearClampedArray()
GLuint TextureShaderBase::createTrilinearClampedArray()
{
#ifdef GL_VERSION_3_3
unsigned id;
@ -321,7 +321,7 @@ GLuint TextureReadBaseNew::createTrilinearClampedArray()
#endif
} // createTrilinearClampedArray
// ----------------------------------------------------------------------------
GLuint TextureReadBaseNew::createSemiTrilinearSampler()
GLuint TextureShaderBase::createSemiTrilinearSampler()
{
#ifdef GL_VERSION_3_3
unsigned id;

View File

@ -15,8 +15,8 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#ifndef HEADER_TEXTURE_READ_HPP
#define HEADER_TEXTURE_READ_HPP
#ifndef HEADER_TEXTURE_SHADER_HPP
#define HEADER_TEXTURE_SHADER_HPP
#include "graphics/central_settings.hpp"
#include "graphics/gl_headers.hpp"
@ -44,7 +44,7 @@ enum SamplerTypeNew
}; // SamplerTypeNew
class TextureReadBaseNew
class TextureShaderBase
{
public:
typedef std::function<void(GLuint, GLuint)> BindFunction;
@ -75,7 +75,7 @@ protected:
static BindFunction m_all_bind_functions[];
std::vector<BindFunction> m_bind_functions;
static GLuint m_all_texture_types[];
}; // TextureReadBaseNew
}; // TextureshaderBase
// ========================================================================
/** Class C needs to be the newly declared shaders class (necessary for
@ -84,7 +84,8 @@ protected:
* right number of arguments are supplied to the variadic functions.
*/
template<class C, int NUM_TEXTURES, typename...tp>
class TextureRead : public TextureReadBaseNew, public Shader<C, tp...>
class TextureShader : public TextureShaderBase
, public Shader<C, tp...>
{
private:
@ -230,13 +231,13 @@ public:
// ------------------------------------------------------------------------
/** Destructor which frees al lsampler ids.
*/
~TextureRead()
~TextureShader()
{
for (unsigned i = 0; i < m_sampler_ids.size(); i++)
glDeleteSamplers(1, &m_sampler_ids[i]);
} // ~TextureRead
} // ~TextureShader
}; // class TextureRead
}; // class TextureShader
#endif