Minetest 5.10.0-dev
 
Loading...
Searching...
No Matches
shadowsshadercallbacks.h
Go to the documentation of this file.
1/*
2Minetest
3Copyright (C) 2021 Liso <anlismon@gmail.com>
4
5This program is free software; you can redistribute it and/or modify
6it under the terms of the GNU Lesser General Public License as published by
7the Free Software Foundation; either version 2.1 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU Lesser General Public License for more details.
14
15You should have received a copy of the GNU Lesser General Public License along
16with this program; if not, write to the Free Software Foundation, Inc.,
1751 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18*/
19
20#pragma once
22#include <IMaterialRendererServices.h>
23#include <IShaderConstantSetCallBack.h>
24#include "client/shader.h"
25
26// Used by main game rendering
27
57
59{
60public:
62 return new ShadowConstantSetter();
63 }
64};
65
66// Used by depth shader
67
68class ShadowDepthShaderCB : public video::IShaderConstantSetCallBack
69{
70public:
71 void OnSetMaterial(const video::SMaterial &material) override {}
72
73 void OnSetConstants(video::IMaterialRendererServices *services,
74 s32 userData) override;
75
76 f32 MaxFar{2048.0f}, MapRes{1024.0f};
79
80private:
85 m_color_map_sampler_setting{"ColorMapSampler"};
90};
Definition shader.h:161
Definition shader.h:168
Definition shader.h:75
Definition shader.h:66
Definition shadowsshadercallbacks.h:59
virtual IShaderConstantSetter * create()
Definition shadowsshadercallbacks.h:61
Definition shadowsshadercallbacks.h:29
CachedPixelShaderSetting< f32 > m_perspective_bias0_pixel
Definition shadowsshadercallbacks.h:42
CachedPixelShaderSetting< f32, 3 > m_light_direction
Definition shadowsshadercallbacks.h:31
CachedPixelShaderSetting< f32 > m_perspective_bias1_pixel
Definition shadowsshadercallbacks.h:46
virtual void onSetConstants(video::IMaterialRendererServices *services) override
Definition shadowsshadercallbacks.cpp:23
CachedPixelShaderSetting< s32 > m_shadow_texture
Definition shadowsshadercallbacks.h:38
CachedPixelShaderSetting< f32, 3 > m_shadow_tint
Definition shadowsshadercallbacks.h:34
CachedPixelShaderSetting< f32 > m_perspective_zbias_pixel
Definition shadowsshadercallbacks.h:49
ShadowConstantSetter()=default
CachedPixelShaderSetting< f32, 4 > m_camera_pos
Definition shadowsshadercallbacks.h:37
CachedPixelShaderSetting< f32 > m_shadow_strength
Definition shadowsshadercallbacks.h:33
CachedVertexShaderSetting< f32 > m_perspective_bias0_vertex
Definition shadowsshadercallbacks.h:40
CachedVertexShaderSetting< f32 > m_perspective_zbias_vertex
Definition shadowsshadercallbacks.h:48
CachedPixelShaderSetting< f32 > m_shadowfar
Definition shadowsshadercallbacks.h:36
CachedPixelShaderSetting< f32 > m_time_of_day
Definition shadowsshadercallbacks.h:35
CachedVertexShaderSetting< f32 > m_perspective_bias1_vertex
Definition shadowsshadercallbacks.h:44
CachedPixelShaderSetting< f32 > m_texture_res
Definition shadowsshadercallbacks.h:32
~ShadowConstantSetter()=default
CachedPixelShaderSetting< f32, 16 > m_shadow_view_proj
Definition shadowsshadercallbacks.h:30
Definition shadowsshadercallbacks.h:69
CachedVertexShaderSetting< f32, 16 > m_light_mvp_setting
Definition shadowsshadercallbacks.h:81
CachedVertexShaderSetting< f32 > m_max_far_setting
Definition shadowsshadercallbacks.h:83
f32 MapRes
Definition shadowsshadercallbacks.h:76
void OnSetConstants(video::IMaterialRendererServices *services, s32 userData) override
Definition shadowsshadercallbacks.cpp:70
void OnSetMaterial(const video::SMaterial &material) override
Definition shadowsshadercallbacks.h:71
CachedVertexShaderSetting< f32 > m_perspective_zbias
Definition shadowsshadercallbacks.h:88
CachedVertexShaderSetting< f32 > m_perspective_bias1
Definition shadowsshadercallbacks.h:87
f32 PerspectiveBiasXY
Definition shadowsshadercallbacks.h:77
CachedVertexShaderSetting< f32 > m_perspective_bias0
Definition shadowsshadercallbacks.h:86
CachedVertexShaderSetting< f32 > m_map_resolution_setting
Definition shadowsshadercallbacks.h:82
CachedVertexShaderSetting< f32, 4 > m_cam_pos_setting
Definition shadowsshadercallbacks.h:89
f32 PerspectiveBiasZ
Definition shadowsshadercallbacks.h:77
f32 MaxFar
Definition shadowsshadercallbacks.h:76
CachedPixelShaderSetting< s32 > m_color_map_sampler_setting
Definition shadowsshadercallbacks.h:85
v3f CameraPos
Definition shadowsshadercallbacks.h:78
core::vector3df v3f
Definition irr_v3d.h:26