Skip to content
This repository has been archived by the owner on Dec 1, 2022. It is now read-only.

Roman-Skabin/REV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

REV

The development of this project is dropped since:

  • I have no patience anymore to use C++ for my own projecs.
  • I have learned a lot in the last year.

So I am going to rewrite an entire engine with my new ideas and knowledges here.

What I am working on right now:

  • Custom shaders
  • Common render stuff: different render pipelines, render graph, render pass
  • Tiled forward (forward+) rendering
  • Fixing bags
  • Also working on tools (Hash tables, strings, ...)

More detailed version:

How to build:

  1. Open console in the build directory.
  2. Run generate.bat.
  3. Open generated solution in MSVS.
  4. Press Build button.

How to use:

  1. Create your own project like sandbox (premake generation file example)
  2. Link it with rev
  3. Build it!

Minimal sandbox startup code (will be changed later):

#include "application.h"
#include "memory/memory.h"

class Scene : public REV::SceneBase
{
    Scene(REV::Allocator *allocator)
        : SceneBase(allocator, REV::ConstString(REV_CSTR_ARGS("DemoScene")), 1024, 36*1024)
    {
    }

    ~Scene()
    {
    }

    virtual void OnSetCurrent()       override {}
    virtual void OnUnsetCurrent()     override {}
    virtual void OnSetResourcesData() override {}
    virtual void OnUpdate()           override {}
};

class Sandbox : public REV::Application
{
public:
    Sandbox()
        : Application(REV::ConstString(REV_CSTR_ARGS("Sandbox")),
                      REV::ConstString(REV_CSTR_ARGS("../../sandbox/sandbox.ini"))),
          m_Scene(&m_Allocator)
    {
    }

    ~Sandbox()
    {
    }

    REV_INLINE Scene& GetScene() { return m_Scene; }

private:
    Scene m_Scene;
};

int REV_CDECL main(int argc, char **argv)
{
    REV::Memory::Create(MB(512), MB(512), GB(2ui64));
    Sandbox sandbox;
    sandbox.Run(&sandbox.GetScene());
    return 0;
}

Releases

No releases published

Languages