Ejemplo n.º 1
0
//--------------------------------------------------------------
// create named color pen
const mgPen* mgXPSurface::createPen(
  const char* colorSpec,
  int thick)
{
  mgColor color(colorSpec);
  return createPen(color.m_r, color.m_g, color.m_b, thick);
}
Ejemplo n.º 2
0
//--------------------------------------------------------------
// create pen from color
const mgPen* mgGenSurface::createPen(
  double thick,
  double r, 
  double g, 
  double b,
  double a)
{
  return createPen(thick, mgColor(r, g, b, a));
}
Ejemplo n.º 3
0
//--------------------------------------------------------------
// create named color pen
const mgPen* mgGenSurface::createPen(
  double thick,
  const char* colorSpec)
{
  return createPen(thick, mgColor(colorSpec));
}
Ejemplo n.º 4
0
void renderer_init()
{
    SYS_VERIFY( shader_create( &s_renderer.paperShader, &s_shader_paper, 1u, 1u, 0u ) );
    SYS_VERIFY( shader_create( &s_renderer.penShader, &s_shader_pen, 0u, 2u, 0u ) );
    SYS_VERIFY( shader_create( &s_renderer.pageShader, &s_shader_page, 0u, 0u, 3u ) );
    SYS_VERIFY( shader_create( &s_renderer.pageFlipShader, &s_shader_pageflip, 1u, 0u, 2u ) );
    SYS_VERIFY( shader_create( &s_renderer.burnHoleShader, &s_shader_burnhole, 0u, 2u, 1u ) );
    SYS_VERIFY( shader_create( &s_renderer.noiseShader, &s_shader_noise, 0u, 0u, 0u ) );
#ifndef SYS_BUILD_MASTER
    SYS_VERIFY( shader_create( &s_renderer.debugPenShader, &s_shader_debugpen, 1u, 0u, 0u ) );
#endif

    SYS_VERIFY( rendertarget_create( &s_renderer.noiseTarget, 512u, 512u, PixelFormat_R8G8B8A8 ) );
    
    graphics_setBlendMode( BlendMode_Disabled );

    // fill noise map:
    graphics_setRenderTarget( &s_renderer.noiseTarget );
    graphics_setShader( &s_renderer.noiseShader );
    graphics_drawFullscreenQuad();
    
    const int width = sys_getScreenWidth();
    const int height = sys_getScreenHeight();

    // create page:
    for( uint i = 0u; i < SYS_COUNTOF( s_renderer.pages ); ++i )
    {
        page_create( &s_renderer.pages[ i ], width, height );
    }

    s_renderer.currentPage = 0u;
    s_renderer.lastPage = 1u;
    
    s_renderer.currentCommand = 0u;

    s_renderer.pageNumber = 0u;

    s_renderer.pageState = PageState_Done;
    s_renderer.stateTime = 0.0f;

    clearStrokeBuffer( &s_renderer.strokeBuffer );

    float3 color;
    color.x = 0.2f;
    color.y = 0.2f;
    color.z = 0.2f;
    createPen( &s_renderer.pens[ Pen_Default ], 2.0f, 1.0f, &color );
    createPen( &s_renderer.pens[ Pen_Font ], 2.0f, 1.0f, &color );
    createPen( &s_renderer.pens[ Pen_Fat ], 3.0f, 1.0f, &color );
    createPen( &s_renderer.pens[ Pen_DebugRed ], 2.0f, 1.0f, float3_set( &color, 1.0f, 0.0f, 0.0f ) );
    createPen( &s_renderer.pens[ Pen_DebugGreen ], 2.0f, 1.0f, float3_set( &color, 0.0f, 1.0f, 0.0f ) );
    createPen( &s_renderer.pens[ Pen_PageNumber ], 2.0f, 1.0f, float3_set( &color, 0.0f, 0.0f, 0.0f ) );

    // create page flip mesh:
    createPageFlipMesh( &s_renderer.pageFlipMesh, 64u, 36u );

    s_renderer.flipTime = -1.0f;

    for( uint i = 0u; i < SYS_COUNTOF(s_renderer.burnHoles); ++i )
    {
        s_renderer.burnHoles[i].size = -1.0f;
    }

    renderer_setDrawSpeed( 0.5f );
    renderer_setPen( Pen_Default );
    renderer_setTransform( 0 );
}
Ejemplo n.º 5
0
//--------------------------------------------------------------
// create pen from color
const mgPen* mgXPSurface::createPen(
  const mgColor& color,
  int thick)
{
  return createPen(color.m_r, color.m_g, color.m_b, thick);
}