Пример #1
0
///
//Initializes a rendering buffer
//
//Parameters:
//	buffer: Rendering buffer to initialize
static void RenderingManager_InitializeBuffer(RenderingBuffer* buffer)
{
	//Shaders
	buffer->shaderPrograms = (ShaderProgram**)malloc(sizeof(ShaderProgram*));

	buffer->shaderPrograms[0] = ShaderProgram_Allocate();
	ShaderProgram_Initialize(buffer->shaderPrograms[0], "./Shader/VertexShader.glsl", "./Shader/FragmentShader.glsl");


	//Checking shaders
	if (buffer->shaderPrograms[0]->shaderProgramID == 0)
	{
		printf("\nError Creating Shader Program!\nShader Results:\nV: %d\tF: %d\tP: %d\n",
			buffer->shaderPrograms[0]->vertexShaderID,
			buffer->shaderPrograms[0]->fragmentShaderID,
			buffer->shaderPrograms[0]->shaderProgramID);

	}


	//Camera
	buffer->camera = Camera_Allocate();
	Camera_Initialize(buffer->camera);

	//Lighting
	buffer->directionalLightVector = Vector_Allocate();
	Vector_Initialize(buffer->directionalLightVector, 3);
	//buffer->directionalLightVector->components[0] = -0.77f;
	//buffer->directionalLightVector->components[2] = -0.77f;
	buffer->directionalLightVector->components[2] = -1.0f;

	//Debug
	buffer->debugOctTree = 0;
}
Пример #2
0
// WinMain
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
	// ウインドウモードで起動
	ChangeWindowMode( TRUE ) ;

	// Direct3D9Ex を使用する
	SetUseDirect3DVersion( DX_DIRECT3D_9EX ) ;

	// ライブラリの初期化
	if( DxLib_Init() < 0 )
		return -1 ;

	// キャラクターの共通情報を初期化
	CharaCommon_Initialize() ;

	// プレイヤーの初期化
	Player_Initialize() ;

	// プレイヤー以外キャラの初期化
	NotPlayer_Initialize() ;

	// ステージの初期化
	Stage_Initialize() ;

	// カメラの初期化
	Camera_Initialize() ;

	// 描画先を裏画面にする
	SetDrawScreen( DX_SCREEN_BACK ) ;

	// ESCキーが押されるか、ウインドウが閉じられるまでループ
	while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 )
	{
		// 画面をクリア
		ClearDrawScreen() ;

		// 入力処理
		Input_Process() ;

		// プレイヤー以外キャラの処理
		NotPlayer_Process() ;

		// プレイヤーの処理
		Player_Process() ;

		// カメラの処理
		Camera_Process() ;

		// 描画処理
		Render_Process() ;

		// 裏画面の内容を表画面に反映
		ScreenFlip() ;
	}

	// プレイヤー以外キャラの後始末
	NotPlayer_Terminate() ;

	// プレイヤーの後始末
	Player_Terminate() ;

	// キャラクター共通情報の後始末
	CharaCommon_Terminate() ;

	// ステージの後始末
	Stage_Terminate() ;

	// ライブラリの後始末
	DxLib_End() ;

	// ソフト終了
	return 0 ;
}