Tachyon (current)  Current Main Branch
extvol.h
Go to the documentation of this file.
1 /*
2  * vol.h - Volume rendering definitions etc.
3  *
4  * (C) Copyright 1994-2022 John E. Stone
5  * SPDX-License-Identifier: BSD-3-Clause
6  *
7  * $Id: extvol.h,v 1.13 2022/02/18 17:55:28 johns Exp $
8  *
9  */
10 
11 typedef struct {
12  RT_OBJECT_HEAD
13  vector min;
14  vector max;
18  int samples;
19  flt (* evaluator)(flt, flt, flt);
20 } extvol;
21 
22 extvol * newextvol(void * voidtex, vector min, vector max,
23  int samples, flt (* evaluator)(flt, flt, flt));
24 color ext_volume_texture(const vector *, const texture *, ray *);
25 
26 
flt opacity
surface transmission factor
Definition: extvol.h:17
int samples
number of samples to take through volume
Definition: extvol.h:18
flt ambient
ambient lighting coefficient
Definition: extvol.h:15
RT_OBJECT_HEAD vector min
minimum box vertex coordinate
Definition: extvol.h:13
double flt
generic floating point number, using double
Definition: tachyon.h:47
Definition: extvol.h:11
vector max
maximum box vertex coordinate
Definition: extvol.h:14
flt diffuse
diffuse lighting coefficient
Definition: extvol.h:16
extvol * newextvol(void *voidtex, vector min, vector max, int samples, flt(*evaluator)(flt, flt, flt))
Definition: extvol.c:47
color ext_volume_texture(const vector *, const texture *, ray *)
Definition: extvol.c:115