Registriert: Do Okt 03, 2024 07:35 Beiträge: 1
Programmiersprache: Delphi
Hello there,
I have been working on a large-scale project using Delphi and OpenGL for rendering a complex 3D scene with multiple textures; lighting effects; and real time shadows. The project involves rendering large datasets; including high polygon models; and I am experiencing performance bottlenecks; especially when it comes to maintaining a high frame rate during camera movements or when many objects are in view.
My current setup uses VBOs for model rendering and FBOs for post processing effects. I am also using GLSL shaders for lighting and shadows. Despite implementing these optimizations; I notice significant frame drops as the scene complexity increases.
I have tried batching objects but still feel like I might be missing something that could reduce overhead. With multiple high resolution textures; I am encountering memory related slowdowns. I have read about texture atlases but have not fully implemented one yet.
Shadows tend to drastically affect performance when moving the light source. Is there an efficient way to handle dynamic shadow maps in real-time?
Has anyone faced similar issues while working on larger OpenGL projects in Delphi? I would really appreciate any advice on optimization techniques; particularly those relevant to memory management; reducing draw calls; or improving shadow rendering. If there are any useful libraries or best practices specific to Delphi/OpenGL.
Thanks in advance for your help and assistance. //edit: Thread had been moderated and removed a hidden external link
Registriert: Sa Mai 04, 2002 19:48 Beiträge: 3829 Wohnort: Tespe (nahe Hamburg)
Its difficult to provide exact help as it is not clear what technology is exactly used, nor how many objects your complex scenes are actually using. There are many different strategies to minimize the amount of draw calls. You might want to exclude the old ones that are primarily based on CPU as they are not very effective anymore. A kind of atlas like a quadtree might help to fastly decide what exactly to draw. Are you having some kind of frustrum culling implemented to detect what exactly is the viewport and needs to be rendered? For stuff like collision are you doing fast checks before getting into a fine granular detection?
Loading high resolution textures will ofc easily grow the amount of memory that is required. Managing these can highly depend on the type of engine/scenes you're using. As far as I am still up to date especially bigger projects are still trying to dynamically loading textures, when they are using and unload them if memory is required and they not had been used for a while. Loading all textures at the beginning of the scene, might easily bust the memory.
On shadows I might not be up to date anymore. What technique are you using for them currently?
_________________ "Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."
Mitglieder in diesem Forum: Bing [Bot], Google [Bot] und 18 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.