@@ -189,8 +189,9 @@ pl_app_load(plApiRegistryI* ptApiRegistry, plAppData* ptAppData)
189189 ptAppData = malloc (sizeof (plAppData ));
190190 memset (ptAppData , 0 , sizeof (plAppData ));
191191
192- ptAppData -> bWireframe = true;
193- ptAppData -> fCameraSpeed = 10000.0f ;
192+
193+ ptAppData -> bWireframe = false;
194+ ptAppData -> fCameraSpeed = 1000000.0f ;
194195
195196 // retrieve extension registry
196197 const plExtensionRegistryI * ptExtensionRegistry = pl_get_api_latest (ptApiRegistry , plExtensionRegistryI );
@@ -262,9 +263,9 @@ pl_app_load(plApiRegistryI* ptApiRegistry, plAppData* ptAppData)
262263
263264 // create camera
264265 ptAppData -> tCamera = (plCamera ){
265- .tPos = {1737000 .0 , 0.0f , 0.0f },
266+ .tPos = {1737500 .0 , 0.0f , 0.0f },
266267 .fNearZ = 0.01f ,
267- .fFarZ = 100000 .0f * 2 ,
268+ .fFarZ = 5000000 .0f ,
268269 .fFieldOfView = PL_PI_3 ,
269270 .fAspectRatio = 1.0f ,
270271 .fYaw = PL_PI + PL_PI_4 ,
@@ -285,7 +286,7 @@ pl_app_load(plApiRegistryI* ptApiRegistry, plAppData* ptAppData)
285286 plDVec3 tP3 = (plDVec3 ){ sqrt (6.0 ) / 3.0 , -1.0 / 3.0 , - sqrt (2.0 ) / 3.0 };
286287
287288 // plDVec3 tRadi = {4.0, 3.0, 4.0};
288- plDVec3 tRadi = {1737000 .0 , 1737000 .0 , 1737000 .0 };
289+ plDVec3 tRadi = {1737400 .0 , 1737400 .0 , 1737400 .0 };
289290
290291 plTesselationTriangle * sbtTessTris = NULL ;
291292 pl_sb_push (sbtTessTris , ((plTesselationTriangle ){.atPoints = {tP0 , tP1 , tP2 }}));
@@ -334,7 +335,7 @@ pl_app_load(plApiRegistryI* ptApiRegistry, plAppData* ptAppData)
334335 tTri .atPoints [0 ] = pl_mul_vec3_d (tTri .atPoints [0 ], tRadi );
335336 tTri .atPoints [1 ] = pl_mul_vec3_d (tTri .atPoints [1 ], tRadi );
336337 tTri .atPoints [2 ] = pl_mul_vec3_d (tTri .atPoints [2 ], tRadi );
337- gptMeshBuilder -> add_triangle_double (ptBuilder , tTri .atPoints [0 ], tTri .atPoints [1 ], tTri .atPoints [2 ]);
338+ gptMeshBuilder -> add_triangle_double (ptBuilder , tTri .atPoints [2 ], tTri .atPoints [1 ], tTri .atPoints [0 ]);
338339 }
339340 }
340341
@@ -462,8 +463,8 @@ pl_app_load(plApiRegistryI* ptApiRegistry, plAppData* ptAppData)
462463 .tMSAASampleCount = PL_SAMPLE_COUNT_1 ,
463464 .tGraphicsState = {
464465 .ulDepthWriteEnabled = 1 ,
465- .ulDepthMode = PL_COMPARE_MODE_GREATER ,
466- .ulCullMode = PL_CULL_MODE_NONE ,
466+ .ulDepthMode = PL_COMPARE_MODE_GREATER_OR_EQUAL ,
467+ .ulCullMode = PL_CULL_MODE_CULL_BACK ,
467468 .ulWireframe = 0 ,
468469 .ulStencilMode = PL_COMPARE_MODE_ALWAYS ,
469470 .ulStencilRef = 0xff ,
@@ -487,7 +488,15 @@ pl_app_load(plApiRegistryI* ptApiRegistry, plAppData* ptAppData)
487488 }
488489 },
489490 .atBlendStates = {
490- {.bBlendEnabled = false}
491+ {
492+ .bBlendEnabled = true,
493+ .tSrcColorFactor = PL_BLEND_FACTOR_SRC_ALPHA ,
494+ .tDstColorFactor = PL_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA ,
495+ .tColorOp = PL_BLEND_OP_ADD ,
496+ .tSrcAlphaFactor = PL_BLEND_FACTOR_SRC_ALPHA ,
497+ .tDstAlphaFactor = PL_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA ,
498+ .tAlphaOp = PL_BLEND_OP_ADD
499+ }
491500 },
492501 };
493502 ptAppData -> tGlobeShader = gptGfx -> create_shader (ptDevice , & tGlobeShaderDesc );
@@ -499,8 +508,8 @@ pl_app_load(plApiRegistryI* ptApiRegistry, plAppData* ptAppData)
499508 .tMSAASampleCount = PL_SAMPLE_COUNT_1 ,
500509 .tGraphicsState = {
501510 .ulDepthWriteEnabled = 1 ,
502- .ulDepthMode = PL_COMPARE_MODE_GREATER ,
503- .ulCullMode = PL_CULL_MODE_NONE ,
511+ .ulDepthMode = PL_COMPARE_MODE_GREATER_OR_EQUAL ,
512+ .ulCullMode = PL_CULL_MODE_CULL_BACK ,
504513 .ulWireframe = 1 ,
505514 .ulStencilMode = PL_COMPARE_MODE_ALWAYS ,
506515 .ulStencilRef = 0xff ,
@@ -524,7 +533,15 @@ pl_app_load(plApiRegistryI* ptApiRegistry, plAppData* ptAppData)
524533 }
525534 },
526535 .atBlendStates = {
527- {.bBlendEnabled = false}
536+ {
537+ .bBlendEnabled = true,
538+ .tSrcColorFactor = PL_BLEND_FACTOR_SRC_ALPHA ,
539+ .tDstColorFactor = PL_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA ,
540+ .tColorOp = PL_BLEND_OP_ADD ,
541+ .tSrcAlphaFactor = PL_BLEND_FACTOR_SRC_ALPHA ,
542+ .tDstAlphaFactor = PL_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA ,
543+ .tAlphaOp = PL_BLEND_OP_ADD
544+ }
528545 },
529546 };
530547 ptAppData -> tGlobeWireframeShader = gptGfx -> create_shader (ptDevice , & tGlobeWireframeShaderDesc );
@@ -583,6 +600,55 @@ pl_app_update(plAppData* ptAppData)
583600
584601 plCamera * ptCamera = & ptAppData -> tCamera ;
585602
603+ if (gptIO -> is_key_pressed (PL_KEY_P , false))
604+ {
605+ plShaderDesc tGlobeShaderDesc = {
606+ .tVertexShader = gptShader -> load_glsl ("solid.vert" , "main" , NULL , NULL ),
607+ .tPixelShader = gptShader -> load_glsl ("solid.frag" , "main" , NULL , NULL ),
608+ .tRenderPassLayout = gptStarter -> get_render_pass_layout (),
609+ .tMSAASampleCount = PL_SAMPLE_COUNT_1 ,
610+ .tGraphicsState = {
611+ .ulDepthWriteEnabled = 1 ,
612+ .ulDepthMode = PL_COMPARE_MODE_GREATER_OR_EQUAL ,
613+ .ulCullMode = PL_CULL_MODE_CULL_BACK ,
614+ .ulWireframe = 0 ,
615+ .ulStencilMode = PL_COMPARE_MODE_ALWAYS ,
616+ .ulStencilRef = 0xff ,
617+ .ulStencilMask = 0xff ,
618+ .ulStencilOpFail = PL_STENCIL_OP_KEEP ,
619+ .ulStencilOpDepthFail = PL_STENCIL_OP_KEEP ,
620+ .ulStencilOpPass = PL_STENCIL_OP_KEEP ,
621+ },
622+ .atVertexBufferLayouts = {
623+ {
624+ .uByteStride = sizeof (float ) * 3 ,
625+ .atAttributes = {
626+ {.tFormat = PL_VERTEX_FORMAT_FLOAT3 }
627+ }
628+ },
629+ {
630+ .uByteStride = sizeof (float ) * 3 ,
631+ .atAttributes = {
632+ {.tFormat = PL_VERTEX_FORMAT_FLOAT3 }
633+ }
634+ }
635+ },
636+ .atBlendStates = {
637+ {
638+ .bBlendEnabled = true,
639+ .tSrcColorFactor = PL_BLEND_FACTOR_SRC_ALPHA ,
640+ .tDstColorFactor = PL_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA ,
641+ .tColorOp = PL_BLEND_OP_ADD ,
642+ .tSrcAlphaFactor = PL_BLEND_FACTOR_SRC_ALPHA ,
643+ .tDstAlphaFactor = PL_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA ,
644+ .tAlphaOp = PL_BLEND_OP_ADD
645+ }
646+ },
647+ };
648+ gptGfx -> queue_shader_for_deletion (gptStarter -> get_device (), ptAppData -> tGlobeShader );
649+ ptAppData -> tGlobeShader = gptGfx -> create_shader (gptStarter -> get_device (), & tGlobeShaderDesc );
650+ }
651+
586652 // camera space
587653 if (gptIO -> is_key_down (PL_KEY_W )) camera_translate (ptCamera , 0.0f , 0.0f , ptAppData -> fCameraSpeed * ptIO -> fDeltaTime );
588654 if (gptIO -> is_key_down (PL_KEY_S )) camera_translate (ptCamera , 0.0f , 0.0f , - ptAppData -> fCameraSpeed * ptIO -> fDeltaTime );
0 commit comments