I'm implementing an entity system in a game engine which is based on the Artemis framework. My question is, how can I wrap an existing rendering engine (like Ogre or Irrlicht) under this framework?

Should I create a component to wrap each mesh, texture, animation class
and wrap the rendering loop as a system in my framework? What should I do?

  • \$\begingroup\$ There might not be an unambiguous "best way" to solve this problem. To narrow down the answers, try editing your question to describe more of what you've tried so far, and where you're running into problems, or what types of criteria you consider higher priorities in evaluating solutions. \$\endgroup\$ – DMGregory Jun 14 '16 at 0:16
  • \$\begingroup\$ In my engine, I have a RenderSystem that renders all entities with a Render component. Mesh and Texture are components as well. Like @DMGregory stated, there's no "best way" to solve this problem. I've come to my own conclusions after many hours of research. Check out the Bitsquid engine blog. Don't look too hard at Artemis, IMHO. \$\endgroup\$ – Stradigos Jun 14 '16 at 4:06
  • \$\begingroup\$ @Stradigos ,So you are saying that no existing game engine implements ECS in its purest form \$\endgroup\$ – Dr.MSM Jun 14 '16 at 16:53
  • \$\begingroup\$ I'm saying that the architectural decisions you make will be entirely dependant on what you're trying to do and what you're willing to sacrifice for it, both personally (hours and hours of research) and in the engine itself as trade offs. It can't be all things, so it must be what you specifically need and what the hardware allows for. Look up Mike Actons talk on data oriented design for more. \$\endgroup\$ – Stradigos Jun 16 '16 at 4:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.