Skip to content

Commit 0200837

Browse files
committed
-Dev: Added Bilinear Filter to AO texture and change in Raytracing Example
1 parent 23df440 commit 0200837

File tree

8 files changed

+556542
-16
lines changed

8 files changed

+556542
-16
lines changed

examples/raytracing/application.cpp

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,12 @@ void Application::init(Systems::RendererSettings settings) {
1818
std::placeholders::_3,
1919
std::placeholders::_4));
2020

21-
m_renderer = new Systems::DeferredRenderer(m_window, ShadowResolution::MEDIUM, settings);
21+
Systems::DeferredRenderer* rndr = new Systems::DeferredRenderer(m_window, ShadowResolution::MEDIUM, settings);
22+
// SSAOSettings ao = {};
23+
// ao.type = AOType::RTAO;
24+
// ao.samples = 4;
25+
// rndr->set_SSAO_settings(ao);
26+
m_renderer = rndr;
2227

2328
setup();
2429
setup_gui();
@@ -52,7 +57,7 @@ void Application::setup() {
5257
const std::string ENGINE_MESH_PATH(ENGINE_RESOURCES_PATH "meshes/");
5358

5459
camera = new Camera();
55-
camera->set_position(Vec3(0.0f, 0.0f, -7.2f));
60+
camera->set_position(Vec3(0.0f, 0.0f, -8.2f));
5661
camera->set_far(100.0f);
5762
camera->set_near(0.1f);
5863
camera->set_field_of_view(70.0f);
@@ -209,8 +214,47 @@ void Application::setup() {
209214
stormtrooper->add_child(stormtrooperHead);
210215
m_scene->add(stormtrooper);
211216

217+
Mesh* roninMesh = new Mesh();
218+
Tools::Loaders::load_3D_file(roninMesh, MESH_PATH + "ronin.obj");
219+
auto roninMat = new PhysicallyBasedMaterial();
220+
roninMesh->push_material(roninMat);
221+
roninMesh->set_name("Ronin");
222+
roninMesh->set_position({-2.1f, -2.065f, -3.4f});
223+
roninMesh->set_rotation({0.0, 14.0f, 0.0f});
224+
225+
stoneMat->set_roughness(0.5f);
226+
stoneMat->set_metalness(0.0f);
227+
228+
Mesh* sphereMesh = new Mesh();
229+
Tools::Loaders::load_3D_file(sphereMesh, ENGINE_MESH_PATH + "sphere.obj");
230+
auto spheremat = new PhysicallyBasedMaterial();
231+
sphereMesh->push_material(spheremat);
232+
sphereMesh->set_name("Energy ball");
233+
spheremat->set_albedo(Vec3(0.0));
234+
spheremat->set_metalness(0.0);
235+
spheremat->set_roughness(0.0);
236+
spheremat->set_emissive_color(Vec3(0.0,0.35,0.8));
237+
spheremat->set_emission_intensity(30.0f);
238+
sphereMesh->set_position({-2.5f, -0.4f, -3.0f});
239+
sphereMesh->set_scale(0.25f);
240+
sphereMesh->ray_hittable(false);
241+
242+
PointLight* energyLight = new PointLight();
243+
energyLight->set_position({-2.5f, -0.4f, -3.0f});
244+
energyLight->set_area_of_effect(20.0f);
245+
energyLight->set_intensity(0.08f);
246+
energyLight->set_color(Vec3(0.0,0.35,0.8));
247+
energyLight->set_shadow_type(ShadowType::RAYTRACED_SHADOW);
248+
energyLight->set_area(0.1f);
249+
energyLight->set_shadow_ray_samples(4);
250+
energyLight->set_name("Energy");
251+
sphereMesh->add_child(energyLight);
252+
253+
m_scene->add(roninMesh);
254+
m_scene->add(sphereMesh);
212255
m_scene->add(plane);
213256

257+
// roninMesh->add_child(sphereMesh);
214258
m_scene->set_ambient_color({0.2, 0.25, 0.61});
215259

216260
TextureHDR* envMap = new TextureHDR();

examples/renderer-app/application.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ void Application::run(int argc, char* argv[]) {
3333
settings.enableUI = true;
3434
settings.enableRaytracing = true;
3535
settings.softwareAA = true;
36+
3637

3738
if (argc == 1)
3839
std::cout << "No arguments submitted, initializing with default parameters..." << std::endl;

0 commit comments

Comments
 (0)