ich konnte es mal wieder nicht lassen
- Code: Select all
#include <shader>
#include <mia_material_api_old>
typedef struct {
miScalar glossiness;
miScalar importance;
miScalar affect_diffuse;
miScalar affect_specular;
miBoolean is_mr_sun;
miBoolean force_specular;
} gmrf_light_spec_only_t;
extern "C" DLLEXPORT int gmrf_light_spec_only_version( void ) { return( 1 ); }
extern "C" DLLEXPORT miBoolean gmrf_light_spec_only (
miTag *result,
miState *state,
gmrf_light_spec_only_t *param )
{
static int klen = sizeof( miA_MATERIAL_API_LIGHTDATA );
mia_material_api_lightdata* ld = ( mia_material_api_lightdata* )
mi_shaderstate_get( state, miA_MATERIAL_API_LIGHTDATA, &klen ) ;
if ( ld )
{
ld->glossiness = *mi_eval_scalar( ¶m->glossiness );
ld->importance = *mi_eval_scalar( ¶m->importance );
ld->affect_diffuse = *mi_eval_scalar( ¶m->affect_diffuse );
ld->affect_specular = *mi_eval_scalar( ¶m->affect_specular );
ld->is_mr_sun = *mi_eval_boolean( ¶m->is_mr_sun );
ld->force_specular = *mi_eval_boolean( ¶m->force_specular );
}
return ( miTRUE );
}
