RtVoid RiAtmosphere(const char *name, ...) { RtInt n; va_list args; RtToken *tokens; RtPointer *params; va_start(args, name); n = ri_util_paramlist_build(args, &tokens, ¶ms); va_end(args); RiAtmosphereV(name, n, tokens, params); ri_util_paramlist_free(tokens, params); }
void Renderer::shader_volume( const liqShader &shader, const std::vector<liqTokenPointer> &tokenPointerArray ) { CM_TRACE_FUNC("Renderer::shader_volume("<<shader.getName()<<", tokenPointerArray)"); int shaderParamCount = tokenPointerArray.size() - 1; boost::scoped_array< liqToken > tokenArray( new liqToken[ tokenPointerArray.size() ] ); boost::scoped_array< liqPointer > pointerArray( new liqPointer[ tokenPointerArray.size() ] ); assignTokenArrays( tokenPointerArray.size(), &tokenPointerArray[ 0 ], tokenArray.get(), pointerArray.get() ); //RiAtmosphereV ( const_cast<char *>(shader.getShaderFileName().c_str()), shaderParamCount, tokenArray.get(), pointerArray.get() ); switch ( shader.volume_type ) { case VOLUME_TYPE_INTERIOR: if ( shader.useVisiblePoints ){ //RiVPInteriorV ( const_cast<char *>(shader.getShaderFileName().c_str()), shaderParamCount, tokenArray.get(), pointerArray.get() ); RiArchiveRecord( RI_COMMENT, "RiVPInteriorV is not implemented in maya2renderer, useVisiblePoints is added by ymesh in r777" ); }else{ RiInteriorV ( const_cast<char *>(shader.getShaderFileName().c_str()), shaderParamCount, tokenArray.get(), pointerArray.get() ); }break; case VOLUME_TYPE_EXTERIOR: if ( shader.useVisiblePoints ){ RiArchiveRecord( RI_COMMENT, "useVisiblePoints is added by ymesh in r777" ); #ifdef GENERIC RiVPExteriorV ( const_cast<char *>(shader.getShaderFileName().c_str()), shaderParamCount, tokenArray.get(), pointerArray.get() ); #else // Atleast Prman 16.x haven't this function RiExteriorV ( const_cast<char *>(shader.getShaderFileName().c_str()), shaderParamCount, tokenArray.get(), pointerArray.get() ); #endif }else{ RiExteriorV ( const_cast<char *>(shader.getShaderFileName().c_str()), shaderParamCount, tokenArray.get(), pointerArray.get() ); }break; case VOLUME_TYPE_ATMOSPHERE: default: if ( shader.useVisiblePoints ){ //RiVPAtmosphereV ( const_cast<char *>(shader.getShaderFileName().c_str()), shaderParamCount, tokenArray.get(), pointerArray.get() ); RiArchiveRecord( RI_COMMENT, "RiVPAtmosphereV is not implemented in maya2renderer, useVisiblePoints is added by ymesh in r777" ); }else{ RiAtmosphereV ( const_cast<char *>(shader.getShaderFileName().c_str()), shaderParamCount, tokenArray.get(), pointerArray.get() ); }break; } }