BRL-CAD
sh_stack.c File Reference
#include "common.h"
#include <stddef.h>
#include <stdio.h>
#include <string.h>
#include "vmath.h"
#include "raytrace.h"
#include "optical.h"
Include dependency graph for sh_stack.c:

Go to the source code of this file.

Data Structures

struct  stk_specific
 

Macros

#define STK_NULL   ((struct stk_specific *)0)
 
#define STK_O(m)   bu_offsetof(struct stk_specific, m)
 

Functions

HIDDEN int sh_stk_setup (register struct region *rp, struct bu_vls *matparm, void **dpp, const struct mfuncs *mf_p, struct rt_i *rtip)
 
HIDDEN int sh_stk_render (struct application *ap, const struct partition *pp, struct shadework *swp, void *dp)
 
HIDDEN void sh_stk_print (register struct region *rp, void *dp)
 
HIDDEN void sh_stk_free (void *cp)
 
HIDDEN int ext_setup (register struct region *rp, struct bu_vls *matparm, void **dpp, const struct mfuncs *mf_p, struct rt_i *rtip)
 
HIDDEN int sh_stk_dosetup (char *cp, struct region *rp, void **dpp, struct mfuncs **mpp, struct rt_i *rtip)
 

Variables

struct mfuncs stk_mfuncs []
 
struct bu_structparse stk_parse []
 

Detailed Description

Stack multiple material modules together

Definition in file sh_stack.c.

Macro Definition Documentation

#define STK_NULL   ((struct stk_specific *)0)

Definition at line 54 of file sh_stack.c.

#define STK_O (   m)    bu_offsetof(struct stk_specific, m)

Definition at line 55 of file sh_stack.c.

Function Documentation

HIDDEN int sh_stk_setup ( register struct region rp,
struct bu_vls matparm,
void **  dpp,
const struct mfuncs *  mf_p,
struct rt_i rtip 
)

Definition at line 198 of file sh_stack.c.

References BU_ALLOC, BU_CK_VLS, BU_GET, bu_log(), bu_vls_addr(), stk_specific::mfuncs, rdebug, RDEBUG_MATERIAL, RDEBUG_SHADE, region::reg_mfuncs, RT_CK_RTI, sh_stk_dosetup(), and stk_specific::udata.

Referenced by ext_setup().

Here is the call graph for this function:

HIDDEN int sh_stk_render ( struct application ap,
const struct partition pp,
struct shadework *  swp,
void *  dp 
)

Definition at line 275 of file sh_stack.c.

References bu_log(), stk_specific::mfuncs, pr_shadework(), rdebug, RDEBUG_SHADE, and stk_specific::udata.

Here is the call graph for this function:

HIDDEN void sh_stk_print ( register struct region rp,
void *  dp 
)

Definition at line 310 of file sh_stack.c.

References bu_log(), stk_specific::mfuncs, and stk_specific::udata.

Here is the call graph for this function:

HIDDEN void sh_stk_free ( void *  cp)

Definition at line 337 of file sh_stack.c.

References BU_PUT, stk_specific::mfuncs, and stk_specific::udata.

HIDDEN int ext_setup ( register struct region rp,
struct bu_vls matparm,
void **  dpp,
const struct mfuncs *  mf_p,
struct rt_i rtip 
)

Definition at line 66 of file sh_stack.c.

References bu_bomb(), BU_CK_VLS, bu_close_mapped_file(), bu_log(), bu_open_mapped_file(), bu_vls_addr(), bu_vls_free(), BU_VLS_INIT_ZERO, bu_vls_strncpy(), bu_mapped_file::buf, bu_mapped_file::buflen, filename, rdebug, RDEBUG_SHADE, RT_CHECK_RTI, RT_CK_REGION, and sh_stk_setup().

Here is the call graph for this function:

HIDDEN int sh_stk_dosetup ( char *  cp,
struct region rp,
void **  dpp,
struct mfuncs **  mpp,
struct rt_i rtip 
)

Definition at line 108 of file sh_stack.c.

References bu_log(), BU_STR_EQUAL, bu_vls_addr(), bu_vls_free(), BU_VLS_INIT_ZERO, bu_vls_strcat(), load_dynamic_shader(), mlib_add_shader(), optical_shader_init(), out, rdebug, RDEBUG_MATERIAL, and RT_CK_RTI.

Referenced by sh_stk_setup().

Here is the call graph for this function:

Variable Documentation

struct bu_structparse stk_parse[]
Initial value:
= {
{"", 0, (char *)0, 0, BU_STRUCTPARSE_FUNC_NULL, NULL, NULL }
}
#define BU_STRUCTPARSE_FUNC_NULL
Definition: parse.h:153

Definition at line 57 of file sh_stack.c.