zoukankan      html  css  js  c++  java
  • esl primary code



    namespace esl {

        
    class shader {
        
    public:
            
    virtual int query() = 0;
            
    virtual void deletethis() = 0;
        }
    ;

        
    class surface : public shader {
        
    public:
            
    virtual int query()
            
    {
                
    return default_surface_query;
            }

        }
    ;

        template 
    < typename T > class ptr {
        
    public:

        }
    ;

        
    void ei_declare_shader( ei_shader_type shader_type, 
                                
    const ei_string shader_name,
                                 )
        
    {
            va_list                        args;
            
    int                            para;
            static_parameter_container    spcon;
            dynamic_parameter_container    dpcon;
            parameter_container            
    *cpcon = NULL;
            ei_string                    str;
            
    float                        fval;

            va_start( args, shader_name );

            
    while(1)
            
    {
                para 
    = va_arg( args, int );

                
    if( para == ei_end )
                    
    break;

                
    switch( para )
                
    {
                
    case ei_static:
                    cpcon 
    = &spcon; 
                    
    break;
                
    case ei_dynamic:
                    cpcon 
    = &dpcon;
                    
    break;
                
    case ei_float:
                    str 
    = va_arg( args, ei_string );
                    fval 
    = va_arg( args, float );
                    cpcon
    ->add_float( str, fval );
                    
    break;
                
    case ei_int:
                    
    break;
                
    case ei_bool:
                    
    break;
                
    case ei_color:
                    
    break;
                
    case ei_point:
                    
    break;
                
    case ei_vector:
                    
    break;
                
    case ei_normal:
                    
    break;
                
    case ei_matrix:
                    
    break;
                }

            }


            va_end( args );
        }


        
    void ei_shader( const ei_string named_shader,
                        
    const ei_string shader_name,
                         )
        
    {
            va_list            args;
            ei_string        str;
            
    int                type;
            
    int                pos;
            ptr
    <float>        fval;
            shader_instance    
    *inst;

            va_start( args, shader_name );

            
    while(1)
            
    {
                str 
    = va_arg( args, ei_string );

                
    if( str == ei_end )
                    
    break;

                inst
    ->lookup( str, type, pos );

                
    switch( type )
                
    {
                
    case ei_float:
                    fval 
    = va_arg( args, ptr<float> );
                    inst
    ->set_float( pos, fval );
                    
    break;
                
    case ei_int:
                    
    break;
                
    case ei_bool:
                    
    break;
                
    case ei_color:
                    
    break;
                
    case ei_point:
                    
    break;
                
    case ei_vector:
                    
    break;
                
    case ei_normal:
                    
    break;
                
    case ei_matrix:
                    
    break;
                }

            }


            va_end( args );
        }


    }
    ;
  • 相关阅读:
    CSS3 flex 布局 图片撑大 父级元素被放大 解决办法
    CentOS 下使用 cron crond crontab 执行定时任务
    Linux 安装 pcre
    Nginx 下载编译安装
    油猴脚本编写教程
    用图形来表达你的意思
    免费绘图软件drawio.io快捷键说明
    centos/Mac 下的多线程下载工具 axel
    巧用对象,生成不重复随机数
    mac 下 Redis5 BloomFilter 安装及与 python连用
  • 原文地址:https://www.cnblogs.com/len3d/p/1046056.html
Copyright © 2011-2022 走看看