Tucano
0.1
A library for rapid prototyping with modern OpenGL and GLSL
|
Renders a mesh using a Oren-Nayar BRDF shader. More...
#include <orennayar.hpp>
Public Member Functions | |
OrenNayar (void) | |
Default constructor. More... | |
virtual void | initialize (void) |
Load and initialize shaders. More... | |
float | getRoughnessCoeff (void) |
Get roughness coefficient. More... | |
void | setRoughnessCoeff (float value) |
Set roughness coefficient. More... | |
void | render (Tucano::Mesh &mesh, const Tucano::Camera &camera, const Tucano::Camera &light) |
Render the mesh given a camera and light, using a Oren Nayar brdf shader. More... | |
Public Member Functions inherited from Tucano::Effect | |
Effect (string shadersDir="shaders/") | |
Default constructor. More... | |
virtual Shader * | loadShader (string shader_name) |
Loads a shader by filename, initializes it, and inserts in shaders list. More... | |
virtual void | loadShader (Shader &shader, string shader_name) |
virtual Shader * | loadShader (string shader_name, string vertex_name, string frag_name, string geom_name) |
Loads a shader by complete filenames (with extensions), initializes it, and inserts in shaders list. More... | |
void | setShadersDir (string dir) |
virtual void | reloadShaders (void) |
Reloads all shaders needed for effect usage. More... | |
Private Attributes | |
Tucano::Shader | orennayar_shader |
Phong Shader. More... | |
float | roughness = 1.0 |
Roughness coefficient, can be in range [0, inf) More... | |
Additional Inherited Members | |
Protected Attributes inherited from Tucano::Effect | |
std::vector< Shader * > | shaders_list |
Vector of pointers to shaders used in this effect, in case the user needs multiple pass rendering. More... | |
string | shaders_dir |
Directory in which the shader files are stored. More... | |
Renders a mesh using a Oren-Nayar BRDF shader.
|
inline |
Default constructor.
|
inline |
Get roughness coefficient.
|
inlinevirtual |
Load and initialize shaders.
Implements Tucano::Effect.
|
inline |
Render the mesh given a camera and light, using a Oren Nayar brdf shader.
*
mesh | Given mesh |
camera | Given camera |
lightTrackball | Given light camera |
|
inline |
Set roughness coefficient.
value | New roughness coeff (ro) |
|
private |
|
private |
Roughness coefficient, can be in range [0, inf)