Shader average_radiance

Click on the filename to display or download the file.

average_radiance.mi
declare shader 
    color "average_radiance" ( 
        color "color" default 1 1 1 ) 
    version 1 
    apply material 
end declare 

average_radiance.c
#include "shader.h" 
#include "miaux.h" 
 
DLLEXPORT 
int average_radiance_version(void) { return 1; } 
 
struct average_radiance { 
    miColor color; 
}; 
 
DLLEXPORT 
miBoolean average_radiance (  
    miColor *result, miState *state, struct average_radiance *params  ) 
{ 
    miColor *color = mi_eval_color(&params->color); 
    mi_compute_avg_radiance(result, state, 'f', NULL); 
    miaux_multiply_color(result, color); 
    return miTRUE; 
} 

average_radiance_util.c
void miaux_multiply_color(miColor *result, miColor *color) 
{ 
    result->r *= color->r; 
    result->g *= color->g; 
    result->b *= color->b; 
} 

22 April 2008 23:40:25