Skip to content

jamesgreensill/Eclipse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eclipse

Author - @jwrmg | GitHub | Discord

  • Started on 9th of March 2022
  • Last Update on 4th of May 2022

Table of Contents


Introduction

To be written.

Installation

  • Getting Started

    To be written.
    
  • Installing

    To be written.
    

Usage

  • Creating a new application

Simple inherit from Engine::Application and override the selection of virtual functions avaliable.

class DemoApplication :
    public Application
{
public:
	// replacement for constructor.
	void OnCreated() override;
	// boots all engine modules
	void OnBoot() override;
	// called when the engine begins to intialize.
	void OnEngineInit() override;
	// called prior to the first frame.
	void OnAwake() override;
	// replacement for destructor.
	void OnDisposed() override;
};

Eclipse Engine has been designed to be modular to its very core. So creating an application is different to most other engines you will find out there. To create an Application using Eclipse you will need add a list of modules to the engine. You can achieve this as follows. Please see Native Modules for a list of natively supported engine modules.

  • Running the application

int main()
{
    	// Create an instance of DemoApplication with the specified settings.
    	Application::Create<DemoApplication>(settings);
    	// Use a variadic function to add a list of module types.
    	Application::Initialize<Debug::DebugModule, Graphics::GraphicsModule, Gui::GuiModule>(Application::Instance);
    	// Run the Application.
    	Application::Run();
}

Native Modules

  • DebugModule <- under the debug namespace.
  • GraphicsModule <- under the graphics namespace.
  • WindowModule <- under the engine namespace.
  • GuiModule <- under the gui namespace.
  • ChatModulew <- under the chat namespace.
  • NetworkModule <- under the networking namespace.

Features

  • Completed

    • Core Engine
      • ECS Container
      • Time
      • Object
      • ResourceManager
      • System
      • Transform
      • Event
      • Function Wrapper
      • API
      • APILoader
      • BaseModel
      • ESingle (Singleton Pattern)
      • Engine Module
    • Graphics
      • Model Loading
      • Texture Loading
      • Shader Loading
      • Phong Model Lighting
    • Networking
      • Basic Client
      • Basic Server
      • Networking Bus
      • Eclipse Packet
      • Packet Handling
    • Debugging
      • Error Logging
      • Debug Logging
      • Logging
      • Assertions
  • In Development

  • Planned

    • Core Engine *
    • Graphics
      • Shadow mapping
      • Texture Maps (normal, diffuse, specular)
      • Raytracing.
      • GLSL shaders.
      • Particles
      • Rigged Animations
      • 2D Stuff
    • Networking
      • Packet compressing
      • Packet batching
      • Dead Reckoning
      • Authentication
      • Packet Encrypting
    • Encryption
      • RSA Encryption & Decryption
      • Prime Number Generation & Verification
    • Debugging
    • Chat
      • Chat Interface

Libraries

Licenses

Contributing

  To be written.

Extra Stuff

  • Future Plans

    To be written.
    
  • FAQ

    To be written.  
    
  • Support

    To be written.
    
  • Acknowledgements

    To be written.
    
  • Credits

    To be written.
    
  • Contact

    To be written.
    

Please contact me for removal if you or your resources are in this section.

Resources of study

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published