1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-11-12 22:02:49 +01:00
openrw/rwengine/include/render/GameShaders.hpp

56 lines
970 B
C++

#pragma once
#ifndef _GAMESHADERS_HPP_
#define _GAMESHADERS_HPP_
#define SHADER_VF(Name) \
struct Name {\
static const char* VertexShader;\
static const char* FragmentShader;\
}
/**
* @brief collection of shaders to make managing them a little easier.
*/
namespace GameShaders {
/**
* High Quality Projected-Grid water shader
*/
SHADER_VF(WaterHQ);
/**
* Simple 3D masking shader
*/
SHADER_VF(Mask3D);
struct Sky {
static const char* VertexShader;
static const char* FragmentShader;
};
struct WorldObject {
static const char* VertexShader;
static const char* FragmentShader;
};
/** @brief Particle effect shaders, uses WorldObject::VertexShader */
struct Particle {
static const char* FragmentShader;
};
/**
* @brief The ScreenSpaceRect shader
*
* Used to draw black bars, splash screens, fading etc.
*/
struct ScreenSpaceRect {
static const char* VertexShader;
static const char* FragmentShader;
};
SHADER_VF(DefaultPostProcess);
}
#endif