Tachyon (current)
Current Main Branch
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <stddef.h>
#include "tachyon.h"
#include "macros.h"
#include "vector.h"
#include "intersect.h"
#include "util.h"
#include "ui.h"
#include "parallel.h"
#include "grid.h"
Go to the source code of this file.
Macros | |
#define | TACHYON_INTERNAL 1 |
#define | GRID_PRIVATE |
#define | cbrt(x) |
Functions | |
object * | newgrid (scenedef *scene, int xsize, int ysize, int zsize, vector min, vector max) |
static int | grid_bbox (void *obj, vector *min, vector *max) |
static void | grid_free (void *v) |
static void | globalbound (object **rootlist, vector *gmin, vector *gmax) |
static ptrdiff_t | cellbound (const grid *g, const gridindex *index, vector *cmin, vector *cmax) |
static int | countobj (object *root) |
static void | gridstats (int xs, int ys, int zs, int numobj) |
int | engrid_scene (scenedef *scene, int boundthresh) |
static ptrdiff_t | engrid_objlist (grid *g, object **list) |
static int | engrid_cell (scenedef *scene, int boundthresh, grid *gold, gridindex *index) |
static int | engrid_objectlist (grid *g, objectlist **list) |
static int | engrid_object (grid *g, object *obj, int addtolist) |
static int | pos2grid (grid *g, vector *pos, gridindex *index) |
static void | grid_intersect (const grid *g, ray *ry) |
static int | grid_bounds_intersect (const grid *g, const ray *ry, flt *hitnear, flt *hitfar) |
Variables | |
static object_methods | grid_methods |
#define cbrt | ( | x | ) |
Definition at line 30 of file grid.c.
Referenced by engrid_cell(), and engrid_scene().
|
static |
|
static |
Definition at line 202 of file grid.c.
Referenced by engrid_scene().
|
static |
Definition at line 315 of file grid.c.
References cbrt, cellbound(), engrid_objectlist(), gridstats(), MYMAX, newgrid(), and VSub().
Referenced by engrid_scene().
|
static |
Definition at line 396 of file grid.c.
References pos2grid().
Referenced by engrid_objectlist(), and engrid_objlist().
|
static |
|
static |
int engrid_scene | ( | scenedef * | scene, |
int | boundthresh | ||
) |
Definition at line 224 of file grid.c.
References cbrt, countobj(), engrid_cell(), engrid_objlist(), globalbound(), gridstats(), MSG_0, newgrid(), and rt_ui_message().
Referenced by rendercheck().
|
static |
|
static |
|
static |
Definition at line 638 of file grid.c.
Referenced by grid_intersect().
|
static |
Definition at line 80 of file grid.c.
References free_objects().
|
static |
Definition at line 479 of file grid.c.
References grid_bounds_intersect().
|
static |
Definition at line 216 of file grid.c.
References MSG_0, and rt_ui_message().
Referenced by engrid_cell(), and engrid_scene().
object* newgrid | ( | scenedef * | scene, |
int | xsize, | ||
int | ysize, | ||
int | zsize, | ||
vector | min, | ||
vector | max | ||
) |
Definition at line 41 of file grid.c.
References grid_methods, new_objectid(), and VSub().
Referenced by engrid_cell(), and engrid_scene().
|
static |
Definition at line 452 of file grid.c.
Referenced by engrid_object().