/// //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; }
// 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 ; }