• Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

New concepts for the ZFXCE2

Sign in to follow this  


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  


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