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 | |
Object * | AddObject (char *fileName, Scene &scene, bool useAcc=true, const Object::PrimitiveFactory &factory=Object::TriangleFactory()) |
Object * | AddSphere (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 USE_KDTREE 1 |
Definition at line 533 of file MicroTrace.cpp.
#define USE_KDTREE 1 |
Definition at line 533 of file MicroTrace.cpp.
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().
Definition at line 119 of file MicroTrace.cpp.
References Object::Add(), Scene::AddObject(), Object::BuildAccelStructure(), and Object::setColor().
void hideSphere | ( | Sphere * | sphere | ) |
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.
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.
Definition at line 504 of file MicroTrace.cpp.
References Vector3D::x(), Vector3D::y(), and Vector3D::z().