2013-02-21 21:07:31 -08:00
/*
2016-01-01 00:11:04 -08:00
* Copyright 2011 - 2016 Branimir Karadzic . All rights reserved .
* License : https : //github.com/bkaradzic/bgfx#license-bsd-2-clause
2013-02-21 21:07:31 -08:00
*/
2014-12-04 20:32:19 -08:00
# include <bx/uint32_t.h>
2016-03-13 14:28:04 -07:00
# include "common.h"
# include "bgfx_utils.h"
2014-12-04 20:32:19 -08:00
# include "logo.h"
2013-02-21 21:07:31 -08:00
2016-03-13 14:28:04 -07:00
class ExampleHelloWorld : public entry : : AppI
2013-02-21 21:07:31 -08:00
{
2016-03-13 14:28:04 -07:00
void init ( int _argc , char * * _argv ) BX_OVERRIDE
{
Args args ( _argc , _argv ) ;
m_width = 1280 ;
m_height = 720 ;
m_debug = BGFX_DEBUG_TEXT ;
m_reset = BGFX_RESET_VSYNC ;
bgfx : : init ( args . m_type , args . m_pciId ) ;
bgfx : : reset ( m_width , m_height , m_reset ) ;
// Enable debug text.
bgfx : : setDebug ( m_debug ) ;
// Set view 0 clear state.
bgfx : : setViewClear ( 0
, BGFX_CLEAR_COLOR | BGFX_CLEAR_DEPTH
, 0x303030ff
, 1.0f
, 0
) ;
}
virtual int shutdown ( ) BX_OVERRIDE
2013-01-16 22:44:51 -08:00
{
2016-03-13 14:28:04 -07:00
// Shutdown bgfx.
bgfx : : shutdown ( ) ;
return 0 ;
}
bool update ( ) BX_OVERRIDE
{
if ( ! entry : : processEvents ( m_width , m_height , m_debug , m_reset ) )
{
// Set view 0 default viewport.
bgfx : : setViewRect ( 0 , 0 , 0 , m_width , m_height ) ;
// This dummy draw call is here to make sure that view 0 is cleared
// if no other draw calls are submitted to view 0.
bgfx : : touch ( 0 ) ;
// Use debug font to print information about this example.
bgfx : : dbgTextClear ( ) ;
bgfx : : dbgTextImage ( bx : : uint16_max ( m_width / 2 / 8 , 20 ) - 20
, bx : : uint16_max ( m_height / 2 / 16 , 6 ) - 6
, 40
, 12
, s_logo
, 160
) ;
bgfx : : dbgTextPrintf ( 0 , 1 , 0x4f , " bgfx/examples/00-helloworld " ) ;
bgfx : : dbgTextPrintf ( 0 , 2 , 0x6f , " Description: Initialization and debug text. " ) ;
// Advance to next frame. Rendering thread will be kicked to
// process submitted rendering primitives.
bgfx : : frame ( ) ;
return true ;
}
return false ;
2013-02-21 21:07:31 -08:00
}
2016-03-13 14:28:04 -07:00
uint32_t m_width ;
uint32_t m_height ;
uint32_t m_debug ;
uint32_t m_reset ;
} ;
2013-02-21 21:07:31 -08:00
2016-03-13 14:28:04 -07:00
ENTRY_IMPLEMENT_MAIN ( ExampleHelloWorld ) ;