MicroTrace.cpp File Reference


Detailed Description

This file is used for other calculations.

Author:
Saarland University, Jonas Eckhardt, Simon Wegener
This file contains the same function as "Animation.cpp" but here we do not have an animation coded into.

Definition in file MicroTrace.cpp.

#include <sstream>
#include <iostream>
#include "Image.h"
#include "Object.h"
#include "Scene.h"
#include "Sphere.h"
#include "PerspectiveCamera.h"
#include "CylindricCamera.h"
#include "DepthOfFieldCamera.h"
#include "PointLight.h"
#include "QuadAreaLight.h"
#include "Texture2D.h"
#include "FlatShader.h"
#include "DebugShader.h"
#include "EdgeShader.h"
#include "FlatTransparentShader.h"
#include "MirrorShader.h"
#include "EyeLightShader.h"
#include "PhongShader.h"
#include "CloudShader.h"
#include "PlasmaShader.h"
#include "MarbleShader.h"
#include "BumpMappedDebugShader.h"
#include "BumpMappedPhongShader.h"
#include "BumpMappedMarblePhongShader.h"
#include "TransparentShader.h"
#include "UniAxialCrystalShader.h"
#include "MixShader.h"
#include "MapShader.h"
#include "WoodShader.h"
#include "BumpMappedWoodPhongShader.h"
#include "GoldShader.h"
#include "SilverShader.h"
#include "SteelShader.h"
#include "CopperShader.h"
#include "SampleGenerator.h"
#include "RegularSampleGenerator.h"
#include "RandomSampleGenerator.h"
#include "StratifiedSampleGenerator.h"
#include "PoissonDiskSampleGenerator.h"

Go to the source code of this file.

Defines

#define USE_KDTREE   1
#define USE_KDTREE   1

Functions

ObjectAddObject (char *fileName, Scene &scene, bool useAcc=true, const Object::PrimitiveFactory &factory=Object::TriangleFactory())
ObjectAddSphere (Sphere *sphere, Scene &scene, bool useAcc=true)
void RenderFrame (Scene *scene, string prefix, Vector3D pos, Vector3D dir, float angle, int resX, int resY)
void RenderSupersampledFrame (Scene *scene, string prefix, Vector3D pos, Vector3D dir, float angle, int resX, int resY, const SampleGenerator &sampler=SampleGenerator(), int sampleCount=1)
void RenderDepthOfFieldFrame (Scene *scene, string prefix, Vector3D pos, Vector3D dir, float angle, int resX, int resY, float lensRadius, float focalDistance, const SampleGenerator &sampler=SampleGenerator(), int sampleCount=1)
void RenderLinearFramePath (Scene *scene, string prefix, Vector3D pos, Vector3D dir, float angle, int resX, int resY, Vector3D path, int times)
void RenderStereoFrame (Scene *scene, string prefix, Vector3D pos, Vector3D dir, float angle, int resX, int resY, float distance=0.01f)
void moveSphere (Sphere *sphere, float deltaRadius, float rotAngle, Vector3D posOffset)
Vector3D rotateVec (Vector3D vec, float rotAngle)
void hideSphere (Sphere *sphere)
int main (int argc, char **argv)


Define Documentation

#define USE_KDTREE   1

Definition at line 533 of file MicroTrace.cpp.

#define USE_KDTREE   1

Definition at line 533 of file MicroTrace.cpp.


Function Documentation

Object* AddObject ( char *  fileName,
Scene scene,
bool  useAcc = true,
const Object::PrimitiveFactory factory = Object::TriangleFactory() 
)

Definition at line 99 of file MicroTrace.cpp.

References Scene::AddObject(), Object::BuildAccelStructure(), Object::ParseOBJ(), and Object::setColor().

Object* AddSphere ( Sphere sphere,
Scene scene,
bool  useAcc = true 
)

Definition at line 119 of file MicroTrace.cpp.

References Object::Add(), Scene::AddObject(), Object::BuildAccelStructure(), and Object::setColor().

void hideSphere ( Sphere sphere  ) 

Definition at line 515 of file MicroTrace.cpp.

References Sphere::SetRadius().

int main ( int  argc,
char **  argv 
)

Definition at line 534 of file MicroTrace.cpp.

References Scene::AddLight(), AddObject(), AddSphere(), Shader::addTexture(), Scene::castShadows, Object::center, Texture::LINEAR, RenderDepthOfFieldFrame(), Texture::REPEAT, Scene::setBgColor(), Texture::setInterpolationMode(), QuadAreaLight::SetNumberOfRays(), Object::setShader(), Texture::setWrapMode(), and USE_KDTREE.

void moveSphere ( Sphere sphere,
float  deltaRadius,
float  rotAngle,
Vector3D  posOffset 
)

Definition at line 489 of file MicroTrace.cpp.

References Sphere::ChangeRadius(), Sphere::GetPosition(), Sphere::SetPosition(), Vector3D::x(), Vector3D::y(), and Vector3D::z().

void RenderDepthOfFieldFrame ( Scene scene,
string  prefix,
Vector3D  pos,
Vector3D  dir,
float  angle,
int  resX,
int  resY,
float  lensRadius,
float  focalDistance,
const SampleGenerator sampler = SampleGenerator(),
int  sampleCount = 1 
)

Definition at line 289 of file MicroTrace.cpp.

References Timer::GetTime(), DepthOfFieldCamera::InitRay(), ColorRGBA::normalize(), Scene::RayTrace(), and Scene::timer.

void RenderFrame ( Scene scene,
string  prefix,
Vector3D  pos,
Vector3D  dir,
float  angle,
int  resX,
int  resY 
)

Definition at line 146 of file MicroTrace.cpp.

References Timer::GetTime(), PerspectiveCamera::InitRay(), ColorRGBA::normalize(), Scene::RayTrace(), and Scene::timer.

void RenderLinearFramePath ( Scene scene,
string  prefix,
Vector3D  pos,
Vector3D  dir,
float  angle,
int  resX,
int  resY,
Vector3D  path,
int  times 
)

Definition at line 367 of file MicroTrace.cpp.

References Timer::GetTime(), ColorRGBA::normalize(), Scene::RayTrace(), Image::setPixel(), Timer::Tick(), Scene::timer, and Image::WritePNG().

void RenderStereoFrame ( Scene scene,
string  prefix,
Vector3D  pos,
Vector3D  dir,
float  angle,
int  resX,
int  resY,
float  distance = 0.01f 
)

Definition at line 430 of file MicroTrace.cpp.

References ColorRGBA::average(), Timer::GetTime(), ColorRGBA::green(), PerspectiveCamera::InitRay(), ColorRGBA::normalize(), Scene::RayTrace(), ColorRGBA::red(), and Scene::timer.

void RenderSupersampledFrame ( Scene scene,
string  prefix,
Vector3D  pos,
Vector3D  dir,
float  angle,
int  resX,
int  resY,
const SampleGenerator sampler = SampleGenerator(),
int  sampleCount = 1 
)

Definition at line 208 of file MicroTrace.cpp.

References Timer::GetTime(), PerspectiveCamera::InitRay(), ColorRGBA::normalize(), Scene::RayTrace(), and Scene::timer.

Vector3D rotateVec ( Vector3D  vec,
float  rotAngle 
)

Definition at line 504 of file MicroTrace.cpp.

References Vector3D::x(), Vector3D::y(), and Vector3D::z().


Generated on Thu Jan 31 21:48:50 2008 for RayTracer by  doxygen 1.5.4