CRenderOptions.h
Go to the documentation of this file.
1 //==============================================================================
2 /*
3  Software License Agreement (BSD License)
4  Copyright (c) 2003-2016, CHAI3D.
5  (www.chai3d.org)
6 
7  All rights reserved.
8 
9  Redistribution and use in source and binary forms, with or without
10  modification, are permitted provided that the following conditions
11  are met:
12 
13  * Redistributions of source code must retain the above copyright
14  notice, this list of conditions and the following disclaimer.
15 
16  * Redistributions in binary form must reproduce the above
17  copyright notice, this list of conditions and the following
18  disclaimer in the documentation and/or other materials provided
19  with the distribution.
20 
21  * Neither the name of CHAI3D nor the names of its contributors may
22  be used to endorse or promote products derived from this software
23  without specific prior written permission.
24 
25  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
28  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
29  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
30  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
31  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
32  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36  POSSIBILITY OF SUCH DAMAGE.
37 
38  \author <http://www.chai3d.org>
39  \author Francois Conti
40  \version 3.2.0 $Rev: 2159 $
41 */
42 //==============================================================================
43 
44 //------------------------------------------------------------------------------
45 #ifndef CRenderOptionsH
46 #define CRenderOptionsH
47 //------------------------------------------------------------------------------
48 
49 //------------------------------------------------------------------------------
50 namespace chai3d {
51 //------------------------------------------------------------------------------
52 
53 //------------------------------------------------------------------------------
54 class cCamera;
55 //------------------------------------------------------------------------------
56 
57 //==============================================================================
64 //==============================================================================
65 
66 
67 //==============================================================================
81 //==============================================================================
83 {
86 
89 
92 
95 
98 
101 
104 
107 
110 
113 
116 
119 
122 };
123 
124 
125 //==============================================================================
135 //==============================================================================
136 inline bool SECTION_RENDER_PARTS_WITH_MATERIALS(cRenderOptions a_options, bool a_useTransparency)
137 {
138  return (!(
139  ((a_options.m_render_opaque_objects_only) && (a_useTransparency)) ||
140  ((a_options.m_render_transparent_front_faces_only || a_options.m_render_transparent_back_faces_only) && (!a_useTransparency))
141  ));
142 }
143 
144 
145 //==============================================================================
153 //==============================================================================
155 {
156  return(!(a_options.m_render_transparent_back_faces_only ||
158 }
159 
160 //------------------------------------------------------------------------------
161 } // namespace chai3d
162 //------------------------------------------------------------------------------
163 
164 //------------------------------------------------------------------------------
165 #endif
166 //------------------------------------------------------------------------------
bool SECTION_RENDER_OPAQUE_PARTS_ONLY(cRenderOptions a_options)
Definition: CRenderOptions.h:154
This structures provide a containers for storing rendering options that are passed through the sceneg...
Definition: CRenderOptions.h:82
bool m_render_transparent_back_faces_only
When using multiple rendering passes, set to true to render back faces of transparent objects only...
Definition: CRenderOptions.h:97
bool m_render_textures
If true then texture properties are rendered.
Definition: CRenderOptions.h:106
bool m_creating_shadow_map
If true then this means that a depth map is being rendered for shadow casting.
Definition: CRenderOptions.h:109
bool m_single_pass_only
Is set to true if the scene is rendered in a single pass only (Scene with no transparent objects) ...
Definition: CRenderOptions.h:88
bool SECTION_RENDER_PARTS_WITH_MATERIALS(cRenderOptions a_options, bool a_useTransparency)
Definition: CRenderOptions.h:136
bool m_enable_lighting
If true, then enabled light sources are activated.
Definition: CRenderOptions.h:100
bool m_rendering_shadow
If true, then shadows are being rendered if enabled.
Definition: CRenderOptions.h:112
bool m_markForUpdate
If true, then reset OpenGL display lists and texture objects.
Definition: CRenderOptions.h:121
This class implements a virtual camera.
Definition: CCamera.h:110
bool m_render_opaque_objects_only
When using multiple rendering passes, set to true to render opaque objects only.
Definition: CRenderOptions.h:91
double m_shadow_light_level
Intensity of the shadow when used. (0.0 - 1.0)
Definition: CRenderOptions.h:115
bool m_render_materials
If true then material properties are rendered.
Definition: CRenderOptions.h:103
bool m_storeObjectPositions
If true, the position and orientation of objects are copied in temporary matrices for next rendering ...
Definition: CRenderOptions.h:118
bool m_render_transparent_front_faces_only
When using multiple rendering passes, set to true to render front faces of transparent objects only...
Definition: CRenderOptions.h:94
Definition: CAudioBuffer.cpp:56
cCamera * m_camera
Pointer to the current camera from which the scene is being rendered.
Definition: CRenderOptions.h:85