Tachyon (current)
Current Main Branch
|
Loader for Wavefront OBJ scenes, using the "tiny_obj_loader" header-only loader library. More...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "ProfileHooks.h"
#include "tiny_obj_loader.h"
#include "stb_image_write.h"
#include "stb_image.h"
#include "TachyonOptiX.h"
Go to the source code of this file.
Macros | |
#define | TINYOBJLOADER_IMPLEMENTATION |
#define | STB_IMAGE_WRITE_IMPLEMENTATION |
#define | STB_IMAGE_IMPLEMENTATION |
Functions | |
static char * | getmaterialdir (const char *filename) |
static unsigned char * | loadimage_rgba4u (const char *searchpath, const char *filename, int &xres, int &yres, int &chinfile) |
void | print_coords (float *coords, int numpts, int count) |
int | main (int argc, const char **argv) |
Loader for Wavefront OBJ scenes, using the "tiny_obj_loader" header-only loader library.
The Wavefront OBJ file format is described in detail here:
http://paulbourke.net/dataformats/mtl/
Definition in file objloader.cpp.
#define STB_IMAGE_IMPLEMENTATION |
Definition at line 38 of file objloader.cpp.
#define STB_IMAGE_WRITE_IMPLEMENTATION |
Definition at line 36 of file objloader.cpp.
#define TINYOBJLOADER_IMPLEMENTATION |
Definition at line 31 of file objloader.cpp.
|
static |
Definition at line 85 of file objloader.cpp.
Referenced by main().
|
static |
int main | ( | int | argc, |
const char ** | argv | ||
) |
static methods for querying OptiX-supprted GPU hardware independent of whether we actually have an active context.
Definition at line 148 of file objloader.cpp.
References TachyonOptiX::add_directional_light(), TachyonOptiX::add_material(), TachyonOptiX::add_material_textured(), TachyonOptiX::add_tex2d_rgba4u(), TachyonOptiX::add_trimesh(), TachyonOptiX::camera_dof_enable(), TachyonOptiX::denoiser_enable(), TachyonOptiX::device_count(), tinyobj::ObjReader::Error(), fmaxf(), TachyonOptiX::framebuffer_clear(), TachyonOptiX::framebuffer_colorspace(), TachyonOptiX::framebuffer_download_rgb4u(), TachyonOptiX::framebuffer_get_size(), TachyonOptiX::framebuffer_resize(), tinyobj::ObjReader::GetAttrib(), getmaterialdir(), tinyobj::ObjReader::GetMaterials(), tinyobj::ObjReader::GetShapes(), loadimage_rgba4u(), make_float3(), tinyobj::ObjReaderConfig::mtl_search_path, tinyobj::index_t::normal_index, TriangleMesh::normals, TachyonOptiX::optix_version(), tinyobj::ObjReader::ParseFromFile(), TachyonOptiX::print_raystats_info(), PROFILE_INITIALIZE, PROFILE_POP_RANGE, PROFILE_PUSH_RANGE, PROFILE_START, TachyonOptiX::render(), TachyonOptiX::RT_BACKGROUND_TEXTURE_SKY_SPHERE, RT_COLORSPACE_sRGB, TachyonOptiX::RT_FOG_NONE, TachyonOptiX::RT_PERSPECTIVE, RT_TEX_ALPHA, RT_TEX_NONE, TachyonOptiX::RT_VERB_MIN, TachyonOptiX::RT_VERB_TIMING, TachyonOptiX::set_aa_samples(), TachyonOptiX::set_ao_ambient(), TachyonOptiX::set_ao_direct(), TachyonOptiX::set_ao_maxdist(), TachyonOptiX::set_ao_samples(), TachyonOptiX::set_bg_color(), TachyonOptiX::set_bg_color_grad_bot(), TachyonOptiX::set_bg_color_grad_top(), TachyonOptiX::set_bg_gradient(), TachyonOptiX::set_bg_gradient_botval(), TachyonOptiX::set_bg_gradient_topval(), TachyonOptiX::set_bg_mode(), TachyonOptiX::set_camera_dof_fnumber(), TachyonOptiX::set_camera_dof_focal_dist(), TachyonOptiX::set_camera_lookat(), TachyonOptiX::set_camera_pos(), TachyonOptiX::set_camera_stereo_convergence_dist(), TachyonOptiX::set_camera_stereo_eyesep(), TachyonOptiX::set_camera_type(), TachyonOptiX::set_camera_zoom(), TachyonOptiX::set_cue_mode(), TachyonOptiX::set_verbose_mode(), TachyonOptiX::shadows_enable(), stbi_flip_vertically_on_write(), stbi_write_png(), TriangleMesh::tex2d, tinyobj::index_t::texcoord_index, TriangleMesh::uniform_color, tinyobj::index_t::vertex_index, TriangleMesh::vertices, and tinyobj::ObjReader::Warning().
void print_coords | ( | float * | coords, |
int | numpts, | ||
int | count | ||
) |
Definition at line 127 of file objloader.cpp.