Fermat
|
A class encpasulating the entire rendering context
#include <renderer_impl.h>
Public Types | |
typedef RenderingContext::HostMipMapStoragePtr | HostMipMapStoragePtr |
typedef RenderingContext::DeviceMipMapStoragePtr | DeviceMipMapStoragePtr |
typedef DomainBuffer< HOST_BUFFER, DirectionalLight > | HostDirectionalLightVector |
typedef DomainBuffer< CUDA_BUFFER, DirectionalLight > | DeviceDirectionalLightVector |
Public Methods | |
RenderingContextImpl (RenderingContext *_context) | |
void | init (int argc, char **argv) |
void | render (const uint32 instance) |
void | clear () |
void | multiply_frame (const float scale) |
void | rescale_frame (const uint32 instance) |
void | clamp_frame (const float max_value) |
void | update_variances (const uint32 instance) |
void | update_model () |
void | filter (const uint32 instance) |
uint2 | res () const |
RenderingContextView | view (const uint32 instance) |
Camera & | get_camera () |
uint2 | get_res () const |
float | get_aspect_ratio () const |
float | get_exposure () const |
float | get_gamma () const |
FBufferStorage & | get_frame_buffer () |
std::vector< HostMipMapStoragePtr > & | get_host_textures () |
std::vector< DeviceMipMapStoragePtr > & | get_device_textures () |
MipMapView * | get_host_texture_views () |
MipMapView * | get_device_texture_views () |
MeshStorage & | get_host_mesh () |
DeviceMeshStorage & | get_device_mesh () |
MeshLightsStorage & | get_mesh_lights () |
RTContext * | get_rt_context () const |
RendererInterface * | get_renderer () const |
uint32 | register_renderer (const char *name, RendererFactoryFunction factory) |
uint32 | load_plugin (const char *plugin_name) |
cugar::Bbox3f | compute_bbox () |
Public Members | |
RenderingContext * | m_this |
unsigned int | m_res_x |
X resolution. | |
unsigned int | m_res_y |
Y resolution. | |
float | m_aspect |
aspect ratio | |
float | m_exposure |
exposure | |
float | m_gamma |
gamma | |
float | m_shading_rate |
shading rate | |
ShadingMode | m_shading_mode |
shading mode | |
MeshStorage | m_mesh |
host-side scene mesh representation | |
DeviceMeshStorage | m_mesh_d |
device-side scene mesh representation | |
MeshLightsStorage | m_mesh_lights |
mesh lights | |
RTContext * | m_rt_context |
internal optix ray tracing context | |
Camera | m_camera |
camera | |
DirectionalLight | m_light |
HostDirectionalLightVector | m_dir_lights_h |
host-side directional lights | |
DeviceDirectionalLightVector | m_dir_lights_d |
device-side directional lights | |
uint32 | m_renderer_type |
rendering engine type | |
RendererInterface * | m_renderer |
rendering engine | |
std::vector< HostMipMapStoragePtr > | m_textures_h |
host-side textures | |
std::vector< DeviceMipMapStoragePtr > | m_textures_d |
device-side textures | |
DomainBuffer< HOST_BUFFER, MipMapView > | m_texture_views_h |
host-side texture views | |
DomainBuffer< CUDA_BUFFER, MipMapView > | m_texture_views_d |
device-side texture views | |
DomainBuffer< CUDA_BUFFER, float4 > | m_ltc_M |
LTC coefficients. | |
DomainBuffer< CUDA_BUFFER, float4 > | m_ltc_Minv |
LTC coefficients. | |
DomainBuffer< CUDA_BUFFER, float > | m_ltc_A |
LTC coefficients. | |
uint32 | m_ltc_size |
LTC coefficients. | |
DomainBuffer< CUDA_BUFFER, float > | m_glossy_reflectance |
glossy reflectance/albedo profile | |
FBufferStorage | m_fb |
output framebuffer storage | |
FBufferChannelStorage | m_fb_temp [4] |
temporary framebuffer storage | |
DomainBuffer< CUDA_BUFFER, float > | m_var |
variance framebuffer storage | |
DomainBuffer< CUDA_BUFFER, uint8 > | m_rgba |
output 8-bit rgba storage | |
TiledSequence | m_sequence |
a tiled sequence | |
std::vector< std::string > | m_renderer_names |
plugin renderer names | |
std::vector< RendererFactoryFunction > | m_renderer_factories |
plugin renderer factories | |
std::vector< DLL > | m_plugins |
plugin DLLs | |
|
inline |
constructor
void RenderingContextImpl::clamp_frame | ( | const float | max_value | ) |
clamp the output framebuffer to a given maximum
max_value |
void RenderingContextImpl::clear | ( | ) |
clear all framebuffers
cugar::Bbox3f RenderingContextImpl::compute_bbox | ( | ) |
compute the scene's bbox
void RenderingContextImpl::filter | ( | const uint32 | instance | ) |
perform filtering
instance | the sequence instance / frame number in a progressive render |
|
inline |
return the target aspect ratio
|
inline |
return the camera
|
inline |
return the scene's device-side mesh
|
inline |
return the scene's device-side textures
|
inline |
return the scene's device-side textures
|
inline |
return the target exposure
|
inline |
return the frame buffer
|
inline |
return the target gamma
|
inline |
return the scene's host-side mesh
|
inline |
return the scene's host-side textures
|
inline |
return the scene's host-side textures
|
inline |
return the scene's device-side mesh emitters
|
inline |
return the renderer
|
inline |
return the target resolution
|
inline |
return the ray tracing context
void RenderingContextImpl::init | ( | int | argc, |
char ** | argv | ||
) |
initialize the renderer
uint32 RenderingContextImpl::load_plugin | ( | const char * | plugin_name | ) |
load a plugin
void RenderingContextImpl::multiply_frame | ( | const float | scale | ) |
rescale the output framebuffer by a constant
uint32 RenderingContextImpl::register_renderer | ( | const char * | name, |
RendererFactoryFunction | factory | ||
) |
register a new rendering interface type
void RenderingContextImpl::render | ( | const uint32 | instance | ) |
render a frame
instance | the sequence instance / frame number in a progressive render |
|
inline |
return the current output resolution
void RenderingContextImpl::rescale_frame | ( | const uint32 | instance | ) |
rescale the output framebuffer by n/(n-1)
instance | the sequence instance / frame number in a progressive render, used for rescaling |
void RenderingContextImpl::update_model | ( | ) |
update the internal data-structures (e.g. BVHs) associated to the geometry
void RenderingContextImpl::update_variances | ( | const uint32 | instance | ) |
update the variance estimates
instance | the sequence instance / frame number in a progressive render, used for rescaling |
RenderingContextView RenderingContextImpl::view | ( | const uint32 | instance | ) |
return a view of the renderer