Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

toxic Namespace Reference


Classes

class  CLParser
class  DriverSettings
struct  DriverSettings::SettingsFiles
 Settings files (set to default values, can be changed from the command line). More...

struct  DriverSettings::InputFiles
 Input files (initialized from the command line). More...

struct  DriverSettings::PrimaryOutput
struct  DriverSettings::GlobalPhotonMap
 Global photon map stuff (set to default values, can be changed from the command line). More...

struct  DriverSettings::CausticsPhotonMap
 Caustics photon map stuff (set to default values, can be changed from the command line). More...

struct  DriverSettings::Multithreading
 (driver settings file). More...

class  DriverSettingsWrapper
class  PrefixStack
class  Indenter
class  ObjectRepository
class  ParameterMap
class  Repository
class  SceneBuilder
struct  SceneBuilder::LoadErrorException
 This is the base class for all exceptions thrown by the SceneBuilder class. More...

struct  SceneBuilder::ParseErrorException
struct  SceneBuilder::MultipleDefinitionException
class  SceneSettingsWrapper
class  SurfaceShaderRepository
class  BasicSurfaceShader
class  Basis
class  BSDF
 Bidirectional Scattering Distribution Function (BSDF). More...

class  Camera
 The camera is located at the origin and looks toward Z-. More...

class  CausticsPhotonTracer
class  Collection
class  Color3
 This is the color format used internally. More...

class  ConstantTexture
class  Context
class  Cube
class  DirectionalLight
class  DummyObject
class  Framebuffer
struct  Framebuffer::pixel_rgb_float_32
class  GlobalPhotonTracer
class  Hit
class  IAreaLight
class  IBDF
 Bidirectional Distribution Function (BDF). More...

class  IBRDF
 Bidirectional Reflectance Distribution Function (BRDF). More...

class  IBTDF
 Bidirectional Transmittance Distribution Function (BTDF). More...

class  IBoundedObject
class  ICamera
 The camera is located at the origin and looks toward Z-. More...

class  IEDF
class  ILight
struct  ILight::IrradianceSample
class  ImageTexture
class  IntersectionData
class  IObject
class  IPhotonTracer
class  ISurfaceSampler
class  ShadingData
class  ISurfaceShader
class  ITexture
class  LambertianBRDF
class  LambertianEDF
class  Map2
struct  Map2::FileNotFoundException
class  Mesh
struct  Mesh::triangle
struct  Mesh::triangle_voxel_intersector
struct  Mesh::octree_test_visitor
struct  Mesh::octree_full_visitor
class  MeshBuilder
class  Octree
struct  Octree::object_voxel_intersector
struct  Octree::octree_test_visitor
struct  Octree::octree_full_visitor
class  PerfectSpecularBRDF
class  Photon
class  PhotonMap
struct  PhotonMap::nearest_photons
 This structure is used only to locate the nearest photons. More...

class  PinholeCamera
class  Plane
class  PointLight
 The point light is located at the origin. More...

class  RandomSurfaceSampler
class  Ray
class  RegularSurfaceSampler
class  Renderer
class  Ring
class  Scene
class  Settings
struct  Settings::SamplingSettings
struct  Settings::SamplingSettings::RandomSampling
 Random sampling settings. More...

struct  Settings::SamplingSettings::RegularSampling
 Regular sampling settings. More...

struct  Settings::SamplingSettings::StratifiedSampling
 Stratified sampling settings. More...

struct  Settings::RadianceEstimateSettings
struct  Settings::Rendering
  More...

struct  Settings::Rendering::PixelSampling
  More...

struct  Settings::Rendering::PixelSampling::Supersampling
  More...

struct  Settings::Rendering::PixelSampling::WhittedAdaptiveSampling
  More...

struct  Settings::Rendering::Components
  More...

struct  Settings::Rendering::Components::DirectLighting
  More...

struct  Settings::Rendering::Components::DirectLighting::ArealightSampling
  More...

struct  Settings::Rendering::Components::IndirectLighting
  More...

struct  Settings::Rendering::Components::IndirectLighting::PhotonTracing
  More...

struct  Settings::Rendering::Components::IndirectLighting::RadiancePrecomp
  More...

struct  Settings::Rendering::Components::IndirectLighting::RadianceEstimate
  More...

struct  Settings::Rendering::Components::IndirectLighting::PrimaryFinalGathering
  More...

struct  Settings::Rendering::Components::IndirectLighting::SecondaryFinalGathering
  More...

struct  Settings::Rendering::Components::SpecularReflections
  More...

struct  Settings::Rendering::Components::Caustics
  More...

struct  Settings::Rendering::Components::Caustics::PhotonTracing
  More...

struct  Settings::Rendering::Components::Caustics::RadianceEstimate
  More...

struct  Settings::Output
  More...

struct  Settings::Output::RenderArea
  More...

struct  Settings::Output::GammaCorrection
  More...

class  Sphere
class  Square
class  Statistics
class  StratifiedSurfaceSampler
class  SurfaceBasis
class  SurfaceSamplerFactory
class  ThinLensCamera
struct  ConversionTables

Functions

std::ostream & Error (std::ostream &s)
std::ostream & Warning (std::ostream &s)
std::string Ratio (sheep::int64 n, sheep::int64 d)
std::string Percentage (sheep::int64 n, sheep::int64 d)
std::string ConvertNumberToString (sheep::int64 n)
std::string ConvertSizeToString (sheep::int64 size, bool omit_details=false)
Color3 operator+ (const Color3 &lhs, const Color3 &rhs)
 Basic operations.

Color3 operator- (const Color3 &lhs, const Color3 &rhs)
Color3 operator- (const Color3 &c)
Color3 operator * (const Color3 &lhs, sheep::Real rhs)
Color3 operator * (sheep::Real lhs, const Color3 &rhs)
Color3 operator/ (const Color3 &lhs, sheep::Real rhs)
Color3operator+= (Color3 &lhs, const Color3 &rhs)
Color3operator-= (Color3 &lhs, const Color3 &rhs)
Color3operator *= (Color3 &lhs, sheep::Real rhs)
Color3operator/= (Color3 &lhs, sheep::Real rhs)
Color3 operator * (const Color3 &lhs, const Color3 &rhs)
 Filter a color (component per component product).

Color3operator *= (Color3 &lhs, const Color3 &rhs)
const sheep::Vector3 OBJECT_AABB_EXTENSION (1.0e-3)
bool intersect_triangle (const Ray &ray, const sheep::Vector3 &vert0, const sheep::Vector3 &vert1, const sheep::Vector3 &vert2, sheep::Real *t, sheep::Real *u, sheep::Real *v)
 The original jgt code.

bool intersect_triangle1 (const Ray &ray, const sheep::Vector3 &vert0, const sheep::Vector3 &vert1, const sheep::Vector3 &vert2, sheep::Real *t, sheep::Real *u, sheep::Real *v)
bool intersect_triangle2 (const Ray &ray, const sheep::Vector3 &vert0, const sheep::Vector3 &vert1, const sheep::Vector3 &vert2, sheep::Real *t, sheep::Real *u, sheep::Real *v)
bool intersect_triangle3 (const Ray &ray, const sheep::Vector3 &vert0, const sheep::Vector3 &vert1, const sheep::Vector3 &vert2, sheep::Real *t, sheep::Real *u, sheep::Real *v)
bool tri_box_overlap (const sheep::Point3 &boxcenter, const sheep::Vector3 &boxhalfsize, const sheep::Point3 &vert0, const sheep::Point3 &vert1, const sheep::Point3 &vert2)
int IntSquareRoot (int n)
bool IsSquare (int n)
void VectorToSphericalCoords (const sheep::Vector3 &v, sheep::Real *phi, sheep::Real *theta)
sheep::Vector3 SphericalCoordsToVector (sheep::Real phi, sheep::Real theta)
void PackSphericalCoords (sheep::Real phi, sheep::Real theta, sheep::uint8 *qphi, sheep::uint8 *qtheta)
void UnpackSphericalCoords (sheep::uint8 qphi, sheep::uint8 qtheta, sheep::Real *phi, sheep::Real *theta)
void PackSphericalCoords (sheep::Real phi, sheep::Real theta, sheep::uint8 *q)
void UnpackSphericalCoords (sheep::uint8 q, sheep::Real *phi, sheep::Real *theta)
void PackDirection (const sheep::Vector3 &v, sheep::uint8 *qphi, sheep::uint8 *qtheta)
 Helper function.

void PackDirection (const sheep::Vector3 &v, sheep::uint8 *q)
 Helper function.

sheep::Vector3 UnpackDirection (sheep::uint8 qphi, sheep::uint8 qtheta)
sheep::Vector3 UnpackDirection (sheep::uint8 q)

Variables

const std::string VERSION = "1.0 alpha-4"
const int BUILD_NUMBER = 2105
const sheep::Real DEFAULT_CAMERA_HFOV = sheep::dtor(70.0)
const sheep::Real DEFAULT_CAMERA_ASPECT_RATIO = 4.0 / 3.0
const int DEFAULT_OCTREE_POP_THRESHOLD = 8
const int DEFAULT_OCTREE_MAX_SUBDIV = 6


Function Documentation

string toxic::ConvertNumberToString sheep::int64  n  ) 
 

Todo:
Implement for floating point arguments, then use it in the Ratio() function (in this file).

Todo:
Rewrite using std::vector<> (or better, std::string).

Definition at line 102 of file helpers.cpp.

Referenced by ConvertSizeToString(), main(), toxic::SceneSettingsWrapper::Print(), toxic::DriverSettingsWrapper::Print(), print_statistics(), and PrintSamplingSettings().

string toxic::ConvertSizeToString sheep::int64  size,
bool  omit_details = false
 

Definition at line 161 of file helpers.cpp.

References ConvertNumberToString(), and ratio().

Referenced by main().

ostream & toxic::Error std::ostream &  s  ) 
 

Definition at line 30 of file error.cpp.

Referenced by toxic::SceneSettingsWrapper::CheckConsistency(), toxic::DriverSettingsWrapper::CheckConsistency(), get_home_path(), toxic::SceneSettingsWrapper::Load(), toxic::DriverSettingsWrapper::Load(), main(), and toxic::CLParser::Parse().

bool toxic::intersect_triangle const Ray &  ray,
const sheep::Vector3 vert0,
const sheep::Vector3 vert1,
const sheep::Vector3 vert2,
sheep::Real t,
sheep::Real u,
sheep::Real v
 

The original jgt code.

Definition at line 40 of file intersecttriangle.cpp.

References toxic::Ray::m_direction, and toxic::Ray::m_origin.

Referenced by toxic::Mesh::Intersect(), toxic::Mesh::octree_full_visitor::Trace(), and toxic::Mesh::octree_test_visitor::Trace().

bool toxic::intersect_triangle1 const Ray &  ray,
const sheep::Vector3 vert0,
const sheep::Vector3 vert1,
const sheep::Vector3 vert2,
sheep::Real t,
sheep::Real u,
sheep::Real v
 

Code rewritten to do tests on the sign of the determinant. The division is at the end in the code.

Definition at line 86 of file intersecttriangle.cpp.

References EPSILON, toxic::Ray::m_direction, and toxic::Ray::m_origin.

bool toxic::intersect_triangle2 const Ray &  ray,
const sheep::Vector3 vert0,
const sheep::Vector3 vert1,
const sheep::Vector3 vert2,
sheep::Real t,
sheep::Real u,
sheep::Real v
 

Code rewritten to do tests on the sign of the determinant. The division is before the test of the sign of the determinant.

Definition at line 152 of file intersecttriangle.cpp.

References EPSILON, toxic::Ray::m_direction, and toxic::Ray::m_origin.

bool toxic::intersect_triangle3 const Ray &  ray,
const sheep::Vector3 vert0,
const sheep::Vector3 vert1,
const sheep::Vector3 vert2,
sheep::Real t,
sheep::Real u,
sheep::Real v
 

Code rewritten to do tests on the sign of the determinant. The division is before the test of the sign of the determinant and one cross product has been moved out from the if-else if-else.

Definition at line 216 of file intersecttriangle.cpp.

References EPSILON, toxic::Ray::m_direction, and toxic::Ray::m_origin.

int toxic::IntSquareRoot int  n  )  [inline]
 

Definition at line 124 of file utilities.h.

Referenced by IsSquare().

bool toxic::IsSquare int  n  )  [inline]
 

Definition at line 129 of file utilities.h.

References IntSquareRoot(), and sheep::sq().

const sheep::Vector3 OBJECT_AABB_EXTENSION 1.0e-  3  ) 
 

Referenced by toxic::Cube::Cube(), toxic::DummyObject::DummyObject(), toxic::Mesh::Finalize(), toxic::Ring::Ring(), toxic::Sphere::Sphere(), and toxic::Square::Square().

Color3 toxic::operator * const Color3 lhs,
const Color3 rhs
[inline]
 

Filter a color (component per component product).

Definition at line 278 of file color3.h.

Color3 toxic::operator * sheep::Real  lhs,
const Color3 rhs
[inline]
 

Definition at line 222 of file color3.h.

Color3 toxic::operator * const Color3 lhs,
sheep::Real  rhs
[inline]
 

Definition at line 214 of file color3.h.

Color3 & toxic::operator *= Color3 lhs,
const Color3 rhs
[inline]
 

Definition at line 286 of file color3.h.

Color3 & toxic::operator *= Color3 lhs,
sheep::Real  rhs
[inline]
 

Definition at line 258 of file color3.h.

Color3 toxic::operator+ const Color3 lhs,
const Color3 rhs
[inline]
 

Basic operations.

Definition at line 193 of file color3.h.

Color3 & toxic::operator+= Color3 lhs,
const Color3 rhs
[inline]
 

Definition at line 240 of file color3.h.

Color3 toxic::operator- const Color3 c  )  [inline]
 

Definition at line 209 of file color3.h.

Color3 toxic::operator- const Color3 lhs,
const Color3 rhs
[inline]
 

Definition at line 201 of file color3.h.

Color3 & toxic::operator-= Color3 lhs,
const Color3 rhs
[inline]
 

Definition at line 249 of file color3.h.

Color3 toxic::operator/ const Color3 lhs,
sheep::Real  rhs
[inline]
 

Definition at line 230 of file color3.h.

Color3 & toxic::operator/= Color3 lhs,
sheep::Real  rhs
[inline]
 

Definition at line 267 of file color3.h.

void toxic::PackDirection const sheep::Vector3 v,
sheep::uint8 *  q
[inline]
 

Helper function.

Definition at line 260 of file utilities.h.

References PackSphericalCoords(), sheep::Real, and VectorToSphericalCoords().

void toxic::PackDirection const sheep::Vector3 v,
sheep::uint8 *  qphi,
sheep::uint8 *  qtheta
[inline]
 

Helper function.

Definition at line 250 of file utilities.h.

void toxic::PackSphericalCoords sheep::Real  phi,
sheep::Real  theta,
sheep::uint8 *  q
[inline]
 

Packs a direction expressed in spherical coordinates to a compact 8-bit representation.

Definition at line 208 of file utilities.h.

References sheep::NormalizeAngle(), and sheep::Real.

Referenced by PackDirection().

void toxic::PackSphericalCoords sheep::Real  phi,
sheep::Real  theta,
sheep::uint8 *  qphi,
sheep::uint8 *  qtheta
[inline]
 

Packs a direction expressed in spherical coordinates to a compact 16-bit representation.

Definition at line 168 of file utilities.h.

string toxic::Percentage sheep::int64  n,
sheep::int64  d
 

Definition at line 81 of file helpers.cpp.

Referenced by main(), and print_statistics().

string toxic::Ratio sheep::int64  n,
sheep::int64  d
 

Definition at line 69 of file helpers.cpp.

Referenced by print_statistics().

sheep::Vector3 toxic::SphericalCoordsToVector sheep::Real  phi,
sheep::Real  theta
[inline]
 

Converts from spherical coordinates to cartesian coordinates. Returned vector is unit-length.

Definition at line 154 of file utilities.h.

References sheep::Vector3::IsUnitLength(), and sheep::Real.

Referenced by toxic::Sphere::ComputeIrradiance(), and toxic::ConversionTables::ConversionTables().

bool toxic::tri_box_overlap const sheep::Point3 boxcenter,
const sheep::Vector3 boxhalfsize,
const sheep::Point3 vert0,
const sheep::Point3 vert1,
const sheep::Point3 vert2
 

Definition at line 134 of file triboxoverlap.cpp.

References AXISTEST_X01, AXISTEST_X2, AXISTEST_Y02, AXISTEST_Y1, AXISTEST_Z0, AXISTEST_Z12, FINDMINMAX, sheep::Vector3::m_x, sheep::Vector3::m_y, sheep::Vector3::m_z, and plane_box_overlap().

Referenced by toxic::Mesh::triangle_voxel_intersector::Intersect().

sheep::Vector3 toxic::UnpackDirection sheep::uint8  q  )  [inline]
 

Not a helper function. Same as UnpackSphericalCoords() followed by SphericalCoordsToVector(), but much faster.

Definition at line 281 of file utilities.h.

sheep::Vector3 toxic::UnpackDirection sheep::uint8  qphi,
sheep::uint8  qtheta
[inline]
 

Not a helper function. Same as UnpackSphericalCoords() followed by SphericalCoordsToVector(), but much faster.

Definition at line 267 of file utilities.h.

void toxic::UnpackSphericalCoords sheep::uint8  q,
sheep::Real phi,
sheep::Real theta
[inline]
 

Unpacks spherical coordinates from the 16-bit representation. phi is in [0, 2*Pi], theta is in [0, Pi].

Todo:
Could be faster with a conversion table.

Definition at line 235 of file utilities.h.

References sheep::Real.

void toxic::UnpackSphericalCoords sheep::uint8  qphi,
sheep::uint8  qtheta,
sheep::Real phi,
sheep::Real theta
[inline]
 

Unpacks spherical coordinates from the 16-bit representation. phi is in [0, 2*Pi], theta is in [0, Pi].

Todo:
Could be faster with a conversion table.

Definition at line 196 of file utilities.h.

void toxic::VectorToSphericalCoords const sheep::Vector3 v,
sheep::Real phi,
sheep::Real theta
[inline]
 

Converts from cartesian coordinates to spherical coordinates. v must be a unit-length vector. phi is in [0, 2*Pi], theta is in [0, Pi].

Todo:
Turn the multiplication into an addition.

Definition at line 134 of file utilities.h.

References sheep::Vector3::IsUnitLength(), sheep::Vector3::m_x, sheep::Vector3::m_y, sheep::Vector3::m_z, and sheep::Real.

Referenced by toxic::PhotonMap::BuildPhotonDirectionHistogram(), and PackDirection().

ostream & toxic::Warning std::ostream &  s  ) 
 

Definition at line 34 of file error.cpp.

Referenced by get_home_path().


Variable Documentation

const int toxic::BUILD_NUMBER = 2105
 

Definition at line 34 of file version.h.

const sheep::Real toxic::DEFAULT_CAMERA_ASPECT_RATIO = 4.0 / 3.0
 

Definition at line 41 of file camera.h.

const sheep::Real toxic::DEFAULT_CAMERA_HFOV = sheep::dtor(70.0)
 

Definition at line 40 of file camera.h.

const int toxic::DEFAULT_OCTREE_MAX_SUBDIV = 6
 

Definition at line 49 of file toxic/src/renderer/octree.h.

const int toxic::DEFAULT_OCTREE_POP_THRESHOLD = 8
 

Definition at line 48 of file toxic/src/renderer/octree.h.

const std::string toxic::VERSION = "1.0 alpha-4"
 

Definition at line 32 of file version.h.

Referenced by main().


Generated on Tue May 11 01:31:56 2004 for toxic by doxygen 1.3.6