DI-Guy SDK Documentation  13.7.1
diguyUniformBufferUpdater.h
Go to the documentation of this file.
1 
2 /*********************************************************************
3 ** Copyright (c) 1992-2022 MAK Technologies, Inc.
4 ** All rights reserved.
5 *********************************************************************/
6 
7 /*********************************************************************/
14 #pragma once
15 
16 #ifdef SWIG
18 #else
19 #define CPLUSPLUS_ONLY
20 #endif
21 
22 #ifdef CPLUSPLUS_ONLY
23 #include <declspec_diguy.h>
24 #endif
25 
28 class diguyViewFog;
29 
35 {
38  {
39  ;
40  }
46 };
47 
62 class BDI_DECLSPEC_diguy diguyUniformBufferUpdater
63 {
64 public:
66  virtual ~diguyUniformBufferUpdater(){ ; }
67  virtual void initialize() = 0;
68 
72  virtual void update() = 0;
73 
76  virtual void set_projection_matrix(const float * matrix) = 0;
77 
79  virtual void get_projection_matrix(float * matrix, int transpose) = 0;
80 
83  virtual void set_view_matrix(const float * matrix) = 0;
84 
86  virtual void get_view_matrix(float * matrix, int transpose) = 0;
87 
90  virtual void set_model_matrix(const float * matrix) = 0;
91 
92  virtual void set_eye_position(float x, float y, float z) = 0;
93 
96  virtual void set_texture_matrix(const float * matrix) = 0;
97 
100  virtual void set_material(const diguyGraphicsMaterial * material) = 0;
101 
103  virtual void set_material_color(float r, float g, float b, float a) = 0;
104  virtual void set_material_spec(float r, float g, float b, float shine) = 0;
105 
107  virtual void set_fog(const diguyViewFog * fog) = 0;
108 
111  virtual void set_use_global_ambient_material(int val) = 0;
112  virtual int get_use_global_ambient_material() = 0;
113 
114  virtual void set_global_ambient_material(float r, float g, float b) = 0;
115  virtual void get_global_ambient_material(float *r, float *g, float *b) = 0;
116 
118  virtual void set_global_ambient_light(float r, float g, float b) = 0;
119 
122  virtual void set_light(int index, const diguyLightRenderDesc * light) = 0;
123 
125  virtual void set_num_active_lights(int num_lights) = 0;
126 
128  virtual void set_shadow_map_params(const diguyShadowMapParams * shadow_params) = 0;
129 
130 };
This class is an abstract wrapper around shader constants for use with DI-Guy rendering.
Definition: diguyUniformBufferUpdater.h:61
float ufrm_shadow_map_radius
Definition: diguyUniformBufferUpdater.h:42
float ufrm_shadow_map_size
Definition: diguyUniformBufferUpdater.h:41
float ufrm_shadow_offset_multiplier
Definition: diguyUniformBufferUpdater.h:44
float ufrm_height_over_terrain
Definition: diguyUniformBufferUpdater.h:43
A class that represents a shared material.
Definition: diguyGraphicsMaterial.h:42
int ufrm_shadows_active
Definition: diguyUniformBufferUpdater.h:40
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:33
diguyShadowMapParams()
Definition: diguyUniformBufferUpdater.h:35