The Dirtchamber
A mixed reality testing environment for real-time global illumination algorithms
Classes | Namespaces | Macros | Functions
d3d_tools.h File Reference
#include <D3D11.h>
#include <DirectXMath.h>

Go to the source code of this file.

Classes

class  dune::profile_query
 A GPU profiler. More...
 

Namespaces

 dune
 Direct3D helper library.
 

Macros

#define assert_hr(x)   assert_hr_detail(x, __FILE__, __LINE__, #x)
 An assert for HRESULTs. More...
 

Functions

template<typename T >
void dune::safe_release (T &obj)
 Safely release an object of type T, setting it to nullptr afterwards.
 
template<typename T >
void dune::exchange (T **oldv, T *newv)
 Exchange an object of type T with a new one. More...
 
void dune::set_viewport (ID3D11DeviceContext *context, size_t w, size_t h)
 Resize the current viewport. More...
 
void dune::clear_rtvs (ID3D11DeviceContext *context, ID3D11RenderTargetView **rtvs, size_t num_rtvs, FLOAT *clear_color)
 Clear a list of render targets with a color. More...
 
bool dune::is_srgb (ID3D11ShaderResourceView *rtv)
 Returns true of the SRV is an SRGB view.
 
bool dune::is_srgb (DXGI_FORMAT f)
 Returns true of the DXGI_FORMAT descriptor is SRGB.
 

Macro Definition Documentation

#define assert_hr (   x)    assert_hr_detail(x, __FILE__, __LINE__, #x)

An assert for HRESULTs.

assert_hr works like a regular assert, except on HRESULT. It will log the filename, the line in the source code and the actual command into cerr and then throw a regular exception with the same error message.

Referenced by skydome::create(), dune::profile_query::create(), dune::simple_mesh::create(), dune::gilga_mesh::create(), dune::kinect_gbuffer::init(), dune::light_propagation_volume::set_propagate_shader(), and dune::d3d_mesh::set_shader().