a test example for eray

本文展示了一个使用Erays渲染引擎的示例代码,详细配置了相机参数、光源设置及物体表面属性等,通过调整不同参数实现了两帧不同效果的渲染。
   
    #include 
" eray.h "

    ei_verbose( on );
    ei_link( 
" base "  );

    ei_options( 
" opt "  );
        ei_samples( 
- 1 1  );
        ei_contrast( .
1 , . 1 , . 1  );
        ei_trace_depth( 
2 2  );
    ei_end_options();

    ei_camera( 
" cam1 "  );
        ei_frame( 
1  );
        ei_output( 
" jpg " " x.jpg "  );
        ei_focal( 
100  );
        ei_aperture( 
144.724029  );
        ei_aspect( 
1.179245  );
        ei_resolution( 
500 424  );
    ei_end_camera();

    ei_instance( 
" caminst1 "  );
        ei_init_object( 
" cam1 "  );
    ei_end_instance();

    ei_shader( 
" point_light_shader "
               
" point_light "
               
" color " , ei_val(color(  1 1 1  )), 
               
" shadow " , ei_val( on ), 
               
" factor " , ei_val(  1  ), ei_end );

    ei_light( 
" light1 "  );
        ei_lightsource( 
" point_light_shader " , ei_end );
        ei_origin( 
141.375732 83.116005 35.619434  );
    ei_end_light();

    ei_instance( 
" lightinst1 "  );
        ei_init_object( 
" light1 "  );
    ei_end_instance();

    ei_shader( 
" phong_shader "
               
" phong "
               
" ambience " , ei_val(color(  1 1 1  )), 
               
" ambient " , ei_val(color( . 5 , . 5 , . 5  )), 
               
" diffuse " , ei_val(color( . 7 , . 7 , . 7  ), 
               
" specular " , ei_val(color(  1 1 1  )), 
               
" exponent " , ei_val(  50  ), ei_end );

    ei_material( 
" mtl "  );
        ei_opaque();
        ei_surface( 
" phong_shader " , ei_end );
    ei_end_material();

    ei_object( 
" obj1 "  );
        ei_visible();
        ei_shadow();
        ei_trace();
        ei_group( 
" mesh "  );
                ei_vector( 
- 7.068787 ,    - 4.155799 ,    - 22.885710  );
                ei_vector( 
- 0.179573 ,    - 7.973234 ,    - 16.724060  );
                ei_vector( 
- 7.068787 ,     4.344949 ,    - 17.619093  );
                ei_vector( 
- 0.179573 ,     0.527515 ,    - 11.457443  );
                ei_vector(  
0.179573 ,    - 0.527514 ,    - 28.742058  );
                ei_vector(  
7.068787 ,    - 4.344948 ,    - 22.580408  );
                ei_vector(  
0.179573 ,     7.973235 ,    - 23.475441  );
                ei_vector(  
7.068787 ,     4.155800 ,    - 17.313791  );

                ei_vertex( 
0  );
                ei_vertex( 
1  );
                ei_vertex( 
2  );
                ei_vertex( 
3  );
                ei_vertex( 
4  );
                ei_vertex( 
5  );
                ei_vertex( 
6  );
                ei_vertex( 
7  );

                ei_polygon( 
" mtl " 0 1 3 2 , ei_end );
                ei_polygon( 
"" ,     1 5 7 3 , ei_end );
                ei_polygon( 
"" ,     5 4 6 7 , ei_end );
                ei_polygon( 
"" ,     4 0 2 6 , ei_end );
                ei_polygon( 
"" ,     4 5 1 0 , ei_end );
                ei_polygon( 
"" ,     2 3 7 6 , ei_end );
        ei_end_group();
    ei_end_object();

    ei_instance( 
" inst1 "  );
        ei_init_object( 
" obj1 "  );
    ei_end_instance();

    ei_instgroup( 
" world "  );
        ei_init_instance( 
" caminst1 "  );
        ei_init_instance( 
" lightinst1 "  );
        ei_illuminate( 
" lightinst1 "  );
        ei_init_instance( 
" inst1 "  );
    ei_end_instgroup();

    ei_render( 
" world " " caminst1 " " opt "  );          //  render frame 1

    ei_incremental_camera( 
" cam1 "  );
        ei_frame( 
2  );
        ei_output( 
" jpg " " y.jpg "  );
        ei_aperture( 
100  );
    ei_end_camera();

    ei_incremental_shader( 
" point_light_shader "
                           
" color " , ei_val(color(  1 0 1  )), ei_end );

    ei_render( 
" world " " caminst1 " " opt "  );          //  render frame 2
posted on 2008-04-27 10:49 Len3d 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/len3d/archive/2008/04/27/1172893.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值