Tachyon (current)
Current Main Branch
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "tachyon.h"
#include "macros.h"
#include "threads.h"
#include "parallel.h"
#include "imageio.h"
#include "trace.h"
#include "render.h"
#include "util.h"
#include "shade.h"
#include "ui.h"
#include "grid.h"
#include "camera.h"
#include "intersect.h"
Go to the source code of this file.
Macros | |
#define | TACHYON_INTERNAL 1 |
Functions | |
static void | rt_autoshader (scenedef *scene) |
void * | thread_worker (void *voidparms) |
void | create_render_threads (scenedef *scene) |
void | destroy_render_threads (scenedef *scene) |
static void | rendercheck (scenedef *scene) |
static void | renderio (scenedef *scene) |
void | renderscene (scenedef *scene) |
void create_render_threads | ( | scenedef * | scene | ) |
Definition at line 98 of file render.c.
References thr_parms::local_mbox, thr_parms::nthr, rt_atomic_int_init(), rt_thread_barrier_init(), rt_thread_create(), thr_parms::runbar, thr_parms::scene, thr_parms::serialno, thr_parms::startx, thr_parms::starty, thr_parms::stopx, thr_parms::stopy, thread_worker(), thr_parms::tid, thr_parms::xinc, and thr_parms::yinc.
Referenced by rendercheck().
void destroy_render_threads | ( | scenedef * | scene | ) |
Definition at line 210 of file render.c.
References thr_parms::nthr, rt_atomic_int_destroy(), rt_thread_barrier(), rt_thread_barrier_destroy(), and rt_thread_join().
Referenced by rendercheck(), and rt_deletescene().
|
static |
Definition at line 273 of file render.c.
References CPU_ARM64_AES, CPU_ARM64_ASIMD, CPU_ARM64_ASIMDDP, CPU_ARM64_ASIMDFHM, CPU_ARM64_ASIMDHP, CPU_ARM64_ASIMDRDM, CPU_ARM64_CRC32, CPU_ARM64_FP, CPU_ARM64_SHA1, CPU_ARM64_SHA2, CPU_ARM64_SHA3, CPU_ARM64_SHA512, CPU_ARM64_SVE, CPU_AVX, CPU_AVX2, CPU_AVX512CD, CPU_AVX512ER, CPU_AVX512F, CPU_AVX512PF, CPU_F16C, CPU_FMA, CPU_HT, CPU_HYPERVISOR, CPU_KNL, CPU_SSE2, CPU_SSE4_1, create_render_threads(), destroy_render_threads(), engrid_scene(), rt_cpu_caps_struct::flags, MSG_0, RT_ACCUMULATE_CLEAR, RT_ACCUMULATE_ON, rt_autoshader(), RT_BOUNDING_ENABLED, rt_par_barrier_sync(), rt_par_init_scanlinereceives(), rt_timer_create(), rt_timer_destroy(), rt_timer_start(), rt_timer_stop(), rt_timer_time(), and rt_ui_message().
Referenced by renderscene().
|
static |
Definition at line 488 of file render.c.
References gamma_rgb96f(), image_crop_rgb24(), image_crop_rgb96f(), MSG_0, normalize_rgb96f(), RT_CROP_DISABLED, rt_timer_create(), rt_timer_destroy(), rt_timer_start(), rt_timer_stop(), rt_timer_time(), rt_ui_message(), and writeimage().
Referenced by renderscene().
void renderscene | ( | scenedef * | scene | ) |
Definition at line 549 of file render.c.
References camera_init(), MSG_0, rendercheck(), renderio(), RT_ACCUMULATE_CLEAR, RT_ACCUMULATE_ON, rt_atomic_int_set(), rt_par_start_scanlinereceives(), rt_par_waitscanlines(), rt_thread_barrier(), rt_timer_create(), rt_timer_destroy(), rt_timer_start(), rt_timer_stop(), rt_timer_time(), rt_ui_message(), rt_ui_progress(), and thread_trace().
Referenced by rt_renderscene().
|
static |
void* thread_worker | ( | void * | voidparms | ) |
Definition at line 56 of file render.c.
References rt_thread_barrier(), rt_thread_set_self_cpuaffinity(), thr_parms::runbar, thread_trace(), and thr_parms::tid.
Referenced by create_render_threads().