コード例 #1
0
ファイル: apitable.c プロジェクト: ProjectAsura/lucille
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, &params);

    va_end(args);

    RiAtmosphereV(name, n, tokens, params);

    ri_util_paramlist_free(tokens, params);
}
コード例 #2
0
	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;
		}
	}