DI-Guy SDK Documentation  13.8
diguyUniformBufferUpdater.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2024 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
6 /*********************************************************************/
13 #pragma once
14 
15 #ifdef SWIG
17 #else
18 #define CPLUSPLUS_ONLY
19 #endif
20 
21 #ifdef CPLUSPLUS_ONLY
22 #include <declspec_diguy.h>
23 #endif
24 
27 class diguyViewFog;
28 
34 {
37  {
38  ;
39  }
45 };
46 
61 class BDI_DECLSPEC_diguy diguyUniformBufferUpdater
62 {
63 public:
65  virtual ~diguyUniformBufferUpdater(){ ; }
66  virtual void initialize() = 0;
67 
71  virtual void update() = 0;
72 
75  virtual void set_projection_matrix(const float * matrix) = 0;
76 
78  virtual void get_projection_matrix(float * matrix, int transpose) = 0;
79 
82  virtual void set_view_matrix(const float * matrix) = 0;
83 
85  virtual void get_view_matrix(float * matrix, int transpose) = 0;
86 
89  virtual void set_model_matrix(const float * matrix) = 0;
90 
91  virtual void set_eye_position(float x, float y, float z) = 0;
92 
95  virtual void set_texture_matrix(const float * matrix) = 0;
96 
99  virtual void set_material(const diguyGraphicsMaterial * material) = 0;
100 
102  virtual void set_material_color(float r, float g, float b, float a) = 0;
103  virtual void set_material_spec(float r, float g, float b, float shine) = 0;
104 
106  virtual void set_fog(const diguyViewFog * fog) = 0;
107 
110  virtual void set_use_global_ambient_material(int val) = 0;
111  virtual int get_use_global_ambient_material() = 0;
112 
113  virtual void set_global_ambient_material(float r, float g, float b) = 0;
114  virtual void get_global_ambient_material(float *r, float *g, float *b) = 0;
115 
117  virtual void set_global_ambient_light(float r, float g, float b) = 0;
118 
121  virtual void set_light(int index, const diguyLightRenderDesc * light) = 0;
122 
124  virtual void set_num_active_lights(int num_lights) = 0;
125 
127  virtual void set_shadow_map_params(const diguyShadowMapParams * shadow_params) = 0;
128 
129 };
This class is an abstract wrapper around shader constants for use with DI-Guy rendering.
Definition: diguyUniformBufferUpdater.h:60
float ufrm_shadow_map_radius
Definition: diguyUniformBufferUpdater.h:41
float ufrm_shadow_map_size
Definition: diguyUniformBufferUpdater.h:40
float ufrm_shadow_offset_multiplier
Definition: diguyUniformBufferUpdater.h:43
float ufrm_height_over_terrain
Definition: diguyUniformBufferUpdater.h:42
A class that represents a shared material.
Definition: diguyGraphicsMaterial.h:41
int ufrm_shadows_active
Definition: diguyUniformBufferUpdater.h:39
This class is a simple structure for transmitting diguy lights down to the uniform buffer system this...
Definition: diguyViewLight.h:34
Describes basic fog model that is used by DI-Guy Scenario and our default ogl renderer Most users wil...
Definition: diguyViewFog.h:42
Lightweight structure for sending shadow parameters to shaders from DI-Guy Scenario note this maps di...
Definition: diguyUniformBufferUpdater.h:32
diguyShadowMapParams()
Definition: diguyUniformBufferUpdater.h:34