Code Monkey home page Code Monkey logo

Comments (6)

onox avatar onox commented on May 25, 2024

Did you set your ADA_PROJECT_PATH environment variable? It should point to a directory that contains json_ada.gpr. Executing gnatls -v should show the paths. How did you fix it eventually?

On Ubuntu you might want to use the GNAT FSF compiler instead with sudo apt install gnat gprbuild. I don't get the Program_Error you mentioned with GNAT FSF.

Orka.Loops and the glTF example are currently broken after implementing the job graph system. I'm currently working on sorting and batching of draw calls and finishing the glTF loader.

from orka.

ohenley avatar ohenley commented on May 25, 2024

No I did not set ADA_PROJECT_PATH. Thanks for the tip.

I hacked my way:
'with "../json-ada/json_ada.gpr"' in orka.gpr and because of config.gpr conflicts (one in json-ada one in orka), I renamed the json-ada config.gpr to config_json_ada.gpr and baked the json-ada external 'variables' directly in the project file. It did the job but ... I know ... its brute force. :)

BTW, are you implementing something similar to what Tobias Persson presents here? http://ourmachinery.com/post/high-level-rendering-using-render-graphs/

Also to support gITF is awesome!

Let me know when your project builds proper I really want to dig in/build on top a project of mine. IMO, it is of high importance to bring this type of project to Ada so people can build amazing stuff of very high quality.

Thank you and keep up the good work.

from orka.

onox avatar onox commented on May 25, 2024

BTW, are you implementing something similar to what Tobias Persson presents here? http://ourmachinery.com/post/high-level-rendering-using-render-graphs/

Thanks for mentioning this. I wasn't aware of that blog post. What I'm trying to do now is that you're able to call OpenGL functions again. With the job graph system, there's a simulation loop and a render loop. The simulation loop will first execute a job that calls a "Fixed_Update" procedure of each "Behavior" object multiple times (for physics), then another job is executed which calls "Update" and "After_Update".

In the older code there's some parallelism but no job graph system. After "After_Update" I call a "Render" procedure which is used to do the actual rendering. Since the job graph system has been implemented, resources are loaded via jobs as well (so that some of the processing can be done in parallel). However, when a resource has been processed, it still needs to create some OpenGL buffers and upload its data. This can only be done in the render loop (the environment thread).

So I'm trying to find an efficient and flexible way to call OpenGL functions for creating buffers and doing draw calls. At the moment I'm trying this.

If you want to have a working revision of the project, you could reset to a commit where the job graph hasn't been enabled or implemented yet: f5c5427 or (even earlier) 8bd6a28.

One of those commits around that time should work with at least GNAT 7.2

If you want to export some Blender files to glTF you can use https://github.com/KhronosGroup/glTF-Blender-Exporter. The index type should be unsigned int (the glTF resource loader makes a bunch of assumptions at the moment). I can post some glTF files that should work if you need it.

from orka.

ohenley avatar ohenley commented on May 25, 2024

from orka.

onox avatar onox commented on May 25, 2024

@ohenley GCC 8 and GNAT CE 2018 should now compile. So hopefully GNAT GPL 2017 should work too. See #10 (comment) On Ubuntu though, I still recommend to just use GNAT FSF 7.3.0.

from orka.

onox avatar onox commented on May 25, 2024

I'm going to close this issue since the project can be build with GCC 7.3 and 8.2. On Windows the project compiles with GNAT CE 2018 as well, so GNAT CE 2018 should compile on Linux as well.

from orka.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.