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 );
        }


    }
    ;
  • 相关阅读:
    Div在BOdy中居中
    c_lc_填充每个节点的下一个右侧节点指针 I~II(递归)
    c_pat_哈密顿回路 & 最大点集 & 是否是旅行商路径 & 欧拉路径 & 最深的根(邻接矩阵存图)
    c_lc_二叉搜索树的最近公共祖先 & 二叉树的最近公共祖先(利用性质 | 从p,q开始存储每个结点的父亲)
    c_pat_树题大杂烩(利用性质)
    现在的我,理解了这种「激情」
    b_pat_排成最小的数字 & 月饼(字符串拼接比较a+b<b+a)
    c_lc_二叉搜索树中的众数(中序遍历+延迟更新前驱结点)
    b_pat_分享 & 链表排序 & 链表去重(链表模拟)
    b_pat_弹出序列(栈模拟)
  • 原文地址:https://www.cnblogs.com/len3d/p/1046056.html
Copyright © 2011-2022 走看看