Ejemplo n.º 1
0
    bool renderer::render(const crowd & people, const platform::tstring & text)
    {
        if (!pre_render()) { return false; }

        D3DXMATRIX skel_transform;
        ::D3DXMatrixScaling(&skel_transform, 0.5, 0.5, 0.5);
        
        for (crowd::size_type i = 0; i < people.size(); ++i)
        {
            skeleton s = people.person(i);
            draw_skeleton(*s.bind_pose(), *s.structure(), visuals, skel_transform);
        }

        if (scene_visual->reflective())
        {
            pipeline.culling(D3DCULL_CCW);
            D3DXMATRIX invert_transform;
            ::D3DXMatrixScaling(&invert_transform, 1.0f, -1.0f, 1.0f);
            D3DXMATRIX reflection_transform;
            ::D3DXMatrixMultiply(&reflection_transform, &skel_transform, &invert_transform);
       
            for (crowd::size_type i = 0; i < people.size(); ++i)
            {
                skeleton s = people.person(i);
                draw_skeleton(*s.bind_pose(), *s.structure(), visuals, reflection_transform);
            }

            pipeline.culling();
        }

        return post_render(text);
    }
Ejemplo n.º 2
0
void meter_paint(t_meter *x, t_object *view)
{
	t_rect rect;
	jbox_get_rect_for_view((t_object *)x, view, &rect);
    x->f_rect = rect;
	
	x->f_center = rect.width * .5;
	x->f_center = rect.height * .5;
	
	x->f_rayonMax = rect.width * .5;
	if(rect.width > rect.height)
		x->f_rayonMax = rect.height * .5;
	
	x->f_fontsize = (x->f_rayonMax / 14.) - 1.;
	x->f_rayonCircle = x->f_rayonMax / 32;
	
	x->f_rayonExt = x->f_rayonMax - (1*0.5) - 2;
	x->f_rayonInt = x->f_rayonExt*(1 - x->f_metersize);
	
	draw_skeleton(x, view, &rect);
    draw_leds(x, view, &rect);
    if (x->f_drawmborder == 2 || x->f_drawmborder == 3)
        draw_separator(x, view, &rect);
    if (x->f_drawvector == 2 || x->f_drawvector == 3)
		draw_vector_velocity(x, view, &rect);
	if (x->f_drawvector == 1 || x->f_drawvector == 3)
		draw_vector_energy(x, view, &rect);
}
void meter_paint(t_meter *x, t_object *view)
{
    t_rect rect;
    jbox_get_rect_for_view((t_object *)x, view, &rect);
    
    x->f_center = rect.width * 0.5;
    x->f_rayonMax = x->f_center;
    x->f_fontsize = (x->f_rayonMax / 14.) - 1.;
    x->f_rayonCircle = x->f_rayonMax / 32;
    x->f_rayonExt = x->f_rayonMax - 2.5;
    x->f_rayonInt = x->f_rayonExt * (1 - x->f_metersize);
    
    draw_skeleton(x, view, &rect);
    draw_leds(x, view, &rect);
    if (x->f_drawmborder == 2 || x->f_drawmborder == 3)
        draw_separator(x, view, &rect);
    if (x->f_drawvector != VECTOR_NONE)
        draw_vectors(x, view, &rect);
}