a test example for eray

來源:互聯網
上載者:User
   
    #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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.