[Development log] Texture rendering successful!, Completion of silhouette curling and rendering queue production!

20
  • Today I created the main render queue used in Material System and game engines.

  • It has an interface called ISurfaceMaterial, which allows you to set shaders, render states, or shader parameter values.

  • The model is one I used at a company I worked for in the past. I used it for testing. ㅋ

  • I also created the SceneCamera component.

  • The camera component basically has two modes: 'Independent Camera Mode' and 'Child Camera Mode'.

  • Independent Camera Mode has a render queue and also has a buffer clear function.

  • In Child Camera Mode, when you place a SceneActor using an independent camera as a child node, it becomes dependent on the independent camera.

  • In this case, it doesn't have its own render queue and doesn't perform buffer clearing either.

  • If you add a function that allows multiple cameras to fill their rendering data with multithreading, it will be very helpful for multithreaded rendering. I've added the functionality itself.

  • As you can see below, we are rendering several models... It looks like we are rendering about 3,000 of them. In this case, I modified it so that objects outside the camera are not rendered using frustum culling.

  • According to the GDC presentation materials from a developer who developed the Battlefield's ProBuilder engine... they completed the culling work for screen rendering with only SIMD frustum culling and occlusion culling without any special BVH culling.

  • So, although there is no occlusion culling yet, I implemented SIMD frustum culling based on the GDC presentation materials.

  • Here are the test results.

  • Ah... it's only about twice as fast... I implemented it using SSE, and I aligned the memory order and batching to SIMD.

  • It's only twice as fast. Documents say it should be 4~5 times faster... ㅎㅎ It might be because there are not many functions yet.

  • Or, the design of the class or data structure may need to be more cache-friendly by making it in a continuous way.

  • I think I need to organize and optimize the source code here once, stabilize the source code, etc.

Thank you.

로그인한 회원만 댓글 등록이 가능합니다.

개발한당

KR | ID | EN
  • IDR
  • KOR
7.67 ▲ 0.01

2026.09.25 KEB 하나은행 고시회차 3705회

다가오는 한인 행사일정

  • 등록 된 일정이 없어요!