Menu

New engine based on GLScene

Lazarus
2020-05-06
2020-05-13
  • Jerome.D (BeanzMaster)

    Hi to i'm glad to present my work on a new engine based partially on GLScene.

    you can found it on my git repo : https://github.com/jdelauney/BZScene
    and here you'll find many samples :
    https://github.com/jdelauney/BZScene-Samples
    https://github.com/jdelauney/BZScene-Demoscene-samples
    https://github.com/jdelauney/LittleAlchemist
    https://github.com/jdelauney/OldSchoolIsBack

    At this stage sorry no 3D yet, i'v just begin this big part, and i search a way to generate VULKAN pascal header.
    But it include many algorithm on image processing, and support BMP, TGA, PCX, PNG, JPG, PIXMAP,...
    I've also rewrite the sound engine now you can play WAV, MP3, OGG and Module tracker (mod, xm, s3m) with OpenAL. The only bug i have with Sound is the integration with IDE but work like a charm in runtime.
    It also can use ASM SIMD SSE for vector and matrix computing.
    You'll can do animations, it include many 1D parametric function, i've also begin a noise generator with white, gaussian, perlin, simplex and opensimplex noise.

    Sorry for non french user, all comments and documentation are in French but the code is easly to understand ;) and all methods are in english

    You can show on my youtube a liitle video of what you can do with the software rendering only

    https://www.youtube.com/watch?v=w933RoXwe_M (cut off the sound i've forgot to stop Netflix :) )
    and here you can reactivate the sound :
    https://www.youtube.com/watch?v=E_LL4nG775g

    img1
    img2
    img3
    img4

    Don't hesitate to ask me if you have any question about BZScene

    Cheers and thanks to for your support !!!

    Jérôme

     

    Last edit: Jerome.D (BeanzMaster) 2020-05-06
  • Pavel Vassiliev

    Pavel Vassiliev - 2020-05-07

    Hm Jerome,
    Nice, but I really don't have any idea why you need another branch and not upgrade GLSceneLCL. All the same you could do in the original GLScene or you may develop VULKAN support in the ..branch\ XRScene for cross-platforms. Do you have plans to support C++Builder developers? It seems like hard times are coming for Delphi ;-)

     
  • Jerome.D (BeanzMaster)

    Hi ,Pavel why not upgrading ?

    Because is simply too hard to add, integrate new code, units in the OLD code of GLScene.
    and my changes are heavy.

    So,
    First 3D engine is still based on OpenGL Legacy, for working with OpenGL core and/or Vulkan and Metal for MacOS in a good way, we need a new approch on how to manage 3D objects. Actually engine need too changes, so it's easier to begin writing new code from scratch.

    After, It will be more easy to do the inverse, integrate some functionnalities already present in GLScene like Silhouette, CSG, Spatial partionning..., or the last unit made by Shine.
    With this process we will be able to improve and correcting the existing code more easily, and adding new methods. This will force to have a more homogeneous code.
    Actually, adding additional code to GLScene will make the code even lighter and it would be like putting patches on a punctured car wheel.

    Secondary i think GLScene need a big cleaning in the code, many code are not very easy, not optimized and collided , We have too methods for doing the same things. GLScene is not easy to debug. Many things are hidden for final users and we need to generate a minimal help. Writing documentation in GLScene is a mess for me. So make patches requires too much effort from my point of view compared to what we will gain in the end. Something unstable.and more hard to debug.

    And finaly because Bitmap with Lazarus is a pit of doom it very handling in a bad way an cause many troubles and is very slow

    Concerning Delphi i think, it will be not hard to make the code compatible. A good thing will be to take a look on how to integrate the library with FMX. For C++ if someone is ready to help us, why not.

    At this time i already have a good base for 3D meshes and the base of the scene graph (partially adpated from GLScene of course).
    I'll need to rewrite the materials and shaders library component in a bit more fashion way.

    My goal is keeping the sense of GLScene by conserving the way on how we construct a scene of course

    Now i'm searching a good way to generate Vulkan pascal header. Vulkan header from Bero is too complicated to learn in my point of view

    This is my why ;)

    Jérôme

     

    Last edit: Jerome.D (BeanzMaster) 2020-05-07
    • Pavel Vassiliev

      Pavel Vassiliev - 2020-05-13

      Hi Jerome,
      You assume that :

      Actually engine need too changes, so it's easier to begin writing new code from scratch...

      but I think that when you will have a large amount of codes you meet the same complexity, thus

      After, It will be more easy to do the inverse, integrate some functionnalities already present in GLScene like Silhouette, CSG, Spatial partionning..., etc.

      And what is the rest that might be not included in BZscene? Well, I undestand that you don't have an opportunity to remain in our team as admin but I hope you will continue to participate somehow as a developer of GLScene.
      So don't worry, be happy -;) and design better then Unreal Engine 5.0. And then we'll take some your stuff back to GXScene, if you don't mind about.
      Pavel

       
  • tambok

    tambok - 2020-05-08

    Hi Jerome,
    Does this tool could promise for the development of curves editor and surfaces?
    Is this tool ready for it now? I will try it.
    I want to make a simple hull with curves and fill it with surfaces. I want to make like, such as of these images.

    Thanks for develope it.

    Tbk

     
  • Jerome.D (BeanzMaster)

    Hi Tambok,
    yes it will be possible, for now i'm just beginning the 3D part , so not ready.

    Actually i've only implemented 2D quadratic and bezier curves, i need to implement spline to.
    if you want, you can take a look in BZGeoTools unit and see the BezierTest sample

    Cheers

     

    Last edit: Jerome.D (BeanzMaster) 2020-05-08
  • tambok

    tambok - 2020-05-09

    Ah, Oke.

    I will take a look at BZGeoTools.
    Thanks.

    Tbk

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.