DI-Guy SDK Documentation  13.5
diguyUniformBufferUpdater.h
Go to the documentation of this file.
1 
2 /*********************************************************************
3 ** Copyright (c) 1992-2020 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 
80  virtual void set_view_matrix(const float * matrix) = 0;
81 
83  virtual void get_view_matrix(float * matrix, int transpose) = 0;
84 
87  virtual void set_model_matrix(const float * matrix) = 0;
88 
89  virtual void set_eye_position(float x, float y, float z) = 0;
90 
93  virtual void set_texture_matrix(const float * matrix) = 0;
94 
97  virtual void set_material(const diguyGraphicsMaterial * material) = 0;
98 
100  virtual void set_material_color(float r, float g, float b, float a) = 0;
101  virtual void set_material_spec(float r, float g, float b, float shine) = 0;
102 
104  virtual void set_fog(const diguyViewFog * fog) = 0;
105 
108  virtual void set_use_global_ambient_material(int val) = 0;
109  virtual int get_use_global_ambient_material() = 0;
110 
111  virtual void set_global_ambient_material(float r, float g, float b) = 0;
112  virtual void get_global_ambient_material(float *r, float *g, float *b) = 0;
113 
115  virtual void set_global_ambient_light(float r, float g, float b) = 0;
116 
119  virtual void set_light(int index, const diguyLightRenderDesc * light) = 0;
120 
122  virtual void set_num_active_lights(int num_lights) = 0;
123 
125  virtual void set_shadow_map_params(const diguyShadowMapParams * shadow_params) = 0;
126 
127 };
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:36
Definition: diguyViewFog.h:35
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