ULRE/inc/hgl/graph/mtl/StdMaterial.h

58 lines
994 B
C
Raw Normal View History

#pragma once
#define STD_MTL_NAMESPACE_BEGIN namespace hgl{namespace graph{namespace mtl{
#define STD_MTL_NAMESPACE_END }}}
2023-04-20 21:49:48 +08:00
#define STD_MTL_NAMESPACE_USING using namespace hgl::graph::mtl;
#include<hgl/graph/mtl/ShaderBuffer.h>
STD_MTL_NAMESPACE_BEGIN
enum class CoordinateSystem2D
{
NDC,
ZeroToOne, //左上角为0,0右下角为1,1
Ortho //左上角为0,0右下角为(width-1),(height-1)
};
2023-04-20 21:49:48 +08:00
constexpr const ShaderBufferSource SBS_ViewportInfo=
{
2023-04-20 21:49:48 +08:00
"ViewportInfo",
"viewport",
R"(
2023-03-22 15:58:59 +08:00
mat4 ortho_matrix;
vec2 canvas_resolution;
vec2 viewport_resolution;
vec2 inv_viewport_resolution;
)"
2023-04-20 21:49:48 +08:00
};
2023-03-22 15:58:59 +08:00
2023-04-20 21:49:48 +08:00
constexpr const ShaderBufferSource SBS_CameraInfo=
{
"CameraInfo",
"camera",
2023-03-22 15:58:59 +08:00
2023-04-20 21:49:48 +08:00
R"(
2023-03-22 15:58:59 +08:00
mat4 projection;
mat4 inverse_projection;
mat4 view;
mat4 inverse_view;
mat4 vp;
mat4 inverse_vp;
mat4 sky;
vec3 pos; //eye
vec3 view_line; //pos-target
vec3 world_up;
float znear,zfar;)"
2023-04-20 21:49:48 +08:00
};
STD_MTL_NAMESPACE_END