Jump to content
Sign in to follow this  
  • entries
    17
  • comments
    14
  • views
    32691

New concepts for the ZFXCE2

Sign in to follow this  
Kimmi

574 views

I made the initial commit of the ZFX-Community-Engine version 2. It conatins the new basic architecture of the ZFXCE2. It is really simple and use the following layering:
  • Infrastructure
  • RenderSystem
  • ApplicationApplication depends on the RenderSystem, the RenderSystem depends on the Infrastructure.

    The Infrastructure layer:
    The core layer, which offers basic services like logging, IO, event-handling, operation-system relevant stuff like accessing a windows system, timers, threading. Currently a windows-specific implementation is supported.
    To offer an easy way to use the engine I will integrate a lua-interpreter at first.


    The RenderSystem layer:
    The layer which works with the graphic API. I am planning to use a rendering thread, which will be implemented by using the driver pattern. The user uses a render-client to define what should be rendered. The driver itself implements the access to the used render-api like OpenGL or D3Dx. I am not sure which communication-style between client and driver will work.
    At this moment I just plan to define a command buffer, which will be filled / modified by the client with the rendering commands. After finishing the current frame the command-buffer will be updated by the driver itself and the new frame will be rendered. On each frame only the dynamic stuff will be changed.
    I will also place here the scenegraph. Assets will be imported by using the asset-importer-library.


    The Application layer:
    This layer is the layer used by a user of the engine. It offers a base layer to configure, startupo and shotdown and accessing your assets and entities used for rendering.

    The initial commint contains a base version with the render window, which is currently empty with a black background. You can close it by pressing ESC or just closing the window by pressing the close-button. You see: The event-system works already. And I started my work on implementing a D3D9-renderer. Currently I am playing around how to implement the client / driver-concept for multithreaded rendering.

    I also added a first sample application called ModelViewer. It implements a first test of the architecture and it seems to work :-). You can find the code here: ZFXCE2 at SF .
Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!