After a swap chain is created, if post-processing effects are enabled, it will take three calls to World::Render before anything except a black screen will appear.
Related thread:
#include "UltraEngine.h"
using namespace UltraEngine;
int main(int argc, const char* argv[])
{
EngineSettings settings;
settings.asyncrender = false;
Initialize(settings);
//Get the displays
auto displays = GetDisplays();
//Create window
auto window = CreateWindow("Ultra Engine", 0, 0, 1280, 720, displays[0], WINDOW_RESIZABLE | WINDOW_CENTER | WINDOW_TITLEBAR);
//Create world
auto world = CreateWorld();
//Create framebuffer
auto framebuffer = CreateFramebuffer(window);
//Create a camera
auto camera = CreateCamera(world, PROJECTION_ORTHOGRAPHIC);
camera->SetClearColor(0,0,1,1);
camera->SetDepthPrepass(false);
auto fx = LoadPostEffect("Shaders/FXAA.fx");
camera->AddPostEffect(fx);
while (window->Closed() == false and window->KeyDown(KEY_ESCAPE) == false)
{
auto e = WaitEvent();
if (e.id == EVENT_KEYDOWN and e.data == KEY_SPACE)
{
camera->SetClearColor(Random(), Random(), Random());
world->Update();
world->Render(framebuffer);
}
}
return 0;
}