Skip to content

Mesh loaders #197

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 45 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
0ed8dc4
Lets remake the STL/PLY loaders
May 27, 2025
fef1cd5
first outline
Jun 3, 2025
157bd8f
outline how I want stuff reorganised
Jun 4, 2025
8370719
temporarily disable some things that I couldn't figure out withour Ar…
Jun 4, 2025
83443a7
factored out the `CSwapchainFramebuffersAndDepth` into `nbl/examples/…
Jun 4, 2025
6c78e29
rework PCH for examples, save work and test with 01 - successfully
AnastaZIuk Jun 11, 2025
fdae6f9
actually some example headers I removed can be used in PCH with small…
AnastaZIuk Jun 11, 2025
ed51dee
remove old header references from 29_MeshLoaders/main.cpp which are i…
AnastaZIuk Jun 11, 2025
971ee34
wipe all EXCLUDE_FROM_ALL except common directory, group all examples…
AnastaZIuk Jun 11, 2025
c9f610f
use NBL_ADJUST_FOLDERS with examples namespace
AnastaZIuk Jun 11, 2025
d1a8113
prep the push constants a little and move onto scene conversion
Jun 16, 2025
629a0ac
correct small typos, get stuff to compile
Jun 16, 2025
37330ab
add more test geometries
Jun 16, 2025
5200ea1
fire up the converter and handle ownership between queues
Jun 16, 2025
272a269
use Asset Converter for ICPUPolygonGeometry, and split into Scene and…
Jun 17, 2025
c446d7e
prep for the final stretch in ex 09 (shaders)
Jun 18, 2025
e76bfcc
move ex09 renderer to its own include
Jun 18, 2025
c3786df
prep for shader loading
Jun 18, 2025
d03f31b
kill a CMakeLists.txt not used in the example PCH branch
Jun 18, 2025
f6aebbf
commit shaders somewhere for now
Jun 18, 2025
00be524
Merge remote-tracking branch 'remotes/origin/master' into mesh_loaders
Jun 18, 2025
8965fb3
get ex 09 in line with Stageless Shaders
Jun 18, 2025
a860c43
fix up examples before the PCH PR
Jun 18, 2025
2dc2682
prep example 71 for @kevinyu
Jun 18, 2025
be46ec3
prep example 67 for further work
Jun 18, 2025
9aa7483
@AnastaZIuk I need your help for getting the mounting of `common/incl…
Jun 18, 2025
846d2fd
prep UI example for further work
Jun 18, 2025
a347562
note down embedding TODOs for arek
Jun 19, 2025
cf4e279
remove unused shaders
Jun 19, 2025
08c28ef
get the example to find shaders and create pipelines, but nothing on …
Jun 19, 2025
17b0579
scene was empty, no wonder nothing drew
Jun 19, 2025
62f1a26
index type was not being set
Jun 19, 2025
fcae0b4
Initial commit for example 71 to use ICPUPolygonGeometry
Jun 19, 2025
312ca61
pull Matt and resolve conflicts
AnastaZIuk Jun 19, 2025
e419580
docs docs docs, adjust to comments and test on 01 after updates
AnastaZIuk Jun 19, 2025
cfd609c
matrix math in linalg was fine, I made a typo
Jun 20, 2025
6242357
fix a caption bug
Jun 20, 2025
19df6e1
Merge remote-tracking branch 'remotes/origin/mlBuildUpdates' into mes…
Jun 21, 2025
19167c5
leave pointers on how to port example 62_CAD, also `EXCLUDE_FROM_ALL`…
Jun 21, 2025
a0622f3
kill old meshloaders example that didn't work since forever
Jun 21, 2025
f494d85
yes `NBL_EMBED_BUILTIN_RESOURCES` should control both Nable and examp…
Jun 21, 2025
ce268fb
Adjust all examples after splitting `MonoAssetManagerAndBuiltinResour…
Jun 21, 2025
20a5438
correct namespace ambiguities affecting example 23 and 29
Jun 21, 2025
21a88ff
aaah the `BuiltinResourcesApplication.hpp` header needs some special …
Jun 22, 2025
1b3c19c
make the `BuiltinResourcesApplication` work for examples without buil…
Jun 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions 01_HelloCoreSystemAsset/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
// This file is part of the "Nabla Engine".
// For conditions of distribution and use, see copyright notice in nabla.h

// always include nabla first before std:: headers
#include "nabla.h"
// <nabla.h> public interface and common examples API, always include first before std:: headers
#include "nbl/examples/examples.hpp"

#include "nbl/system/IApplicationFramework.h"

Expand Down
3 changes: 1 addition & 2 deletions 03_DeviceSelectionAndSharedSources/Testers.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@
#ifndef _NBL_TESTERS_H_INCLUDED_
#define _NBL_TESTERS_H_INCLUDED_

#include "nbl/application_templates/MonoDeviceApplication.hpp"
#include "nbl/application_templates/MonoAssetManagerAndBuiltinResourceApplication.hpp"
#include "nbl/examples/examples.hpp"

using namespace nbl;

Expand Down
22 changes: 13 additions & 9 deletions 03_DeviceSelectionAndSharedSources/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,20 @@
// This file is part of the "Nabla Engine".
// For conditions of distribution and use, see copyright notice in nabla.h

#include "nbl/application_templates/MonoDeviceApplication.hpp"
#include "nbl/application_templates/MonoAssetManagerAndBuiltinResourceApplication.hpp"

#include "nbl/examples/examples.hpp"
// TODO: why isn't this in `nabla.h` ?
#include "nbl/asset/metadata/CHLSLMetadata.h"
#include "CommonPCH/PCH.hpp"


using namespace nbl;
using namespace core;
using namespace system;
using namespace asset;
using namespace video;
using namespace nbl::core;
using namespace nbl::hlsl;
using namespace nbl::system;
using namespace nbl::asset;
using namespace nbl::ui;
using namespace nbl::video;
using namespace nbl::examples;

// TODO[Przemek]: update comments

Expand All @@ -22,10 +26,10 @@ using namespace video;
constexpr bool ENABLE_TESTS = false;

// This time we create the device in the base class and also use a base class to give us an Asset Manager and an already mounted built-in resource archive
class DeviceSelectionAndSharedSourcesApp final : public application_templates::MonoDeviceApplication, public application_templates::MonoAssetManagerAndBuiltinResourceApplication
class DeviceSelectionAndSharedSourcesApp final : public application_templates::MonoDeviceApplication, public BuiltinResourcesApplication
{
using device_base_t = application_templates::MonoDeviceApplication;
using asset_base_t = application_templates::MonoAssetManagerAndBuiltinResourceApplication;
using asset_base_t = BuiltinResourcesApplication;
public:
// Yay thanks to multiple inheritance we cannot forward ctors anymore
DeviceSelectionAndSharedSourcesApp(const path& _localInputCWD, const path& _localOutputCWD, const path& _sharedInputCWD, const path& _sharedOutputCWD) :
Expand Down
6 changes: 3 additions & 3 deletions 05_StreamingAndBufferDeviceAddressApp/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

// I've moved out a tiny part of this example into a shared header for reuse, please open and read it.
#include "nbl/application_templates/MonoDeviceApplication.hpp"
#include "nbl/application_templates/MonoAssetManagerAndBuiltinResourceApplication.hpp"
#include "nbl/examples/common/BuiltinResourcesApplication.hpp"


using namespace nbl;
Expand All @@ -20,10 +20,10 @@ using namespace video;


// In this application we'll cover buffer streaming, Buffer Device Address (BDA) and push constants
class StreamingAndBufferDeviceAddressApp final : public application_templates::MonoDeviceApplication, public application_templates::MonoAssetManagerAndBuiltinResourceApplication
class StreamingAndBufferDeviceAddressApp final : public application_templates::MonoDeviceApplication, public examples::BuiltinResourcesApplication
{
using device_base_t = application_templates::MonoDeviceApplication;
using asset_base_t = application_templates::MonoAssetManagerAndBuiltinResourceApplication;
using asset_base_t = examples::BuiltinResourcesApplication;

// This is the first example that submits multiple workloads in-flight.
// What the shader does is it computes the minimum distance of each point against K other random input points.
Expand Down
20 changes: 11 additions & 9 deletions 06_HelloGraphicsQueue/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,20 @@
// For conditions of distribution and use, see copyright notice in nabla.h


// I've moved out a tiny part of this example into a shared header for reuse, please open and read it.
#include "nbl/application_templates/MonoDeviceApplication.hpp"
#include "nbl/application_templates/MonoAssetManagerAndBuiltinResourceApplication.hpp"
#include "nbl/examples/examples.hpp"

#include "nbl/ext/ScreenShot/ScreenShot.h"


using namespace nbl;
using namespace core;
using namespace system;
using namespace asset;
using namespace video;
using namespace nbl::core;
using namespace nbl::hlsl;
using namespace nbl::system;
using namespace nbl::asset;
using namespace nbl::ui;
using namespace nbl::video;
using namespace nbl::examples;


// Here we showcase the use of Graphics Queue only
// Steps we take in this example:
Expand All @@ -26,10 +28,10 @@ using namespace video;
// - save the smallImg to disk
//
// all without using IUtilities.
class HelloGraphicsQueueApp final : public application_templates::MonoDeviceApplication, public application_templates::MonoAssetManagerAndBuiltinResourceApplication
class HelloGraphicsQueueApp final : public application_templates::MonoDeviceApplication, public BuiltinResourcesApplication
{
using device_base_t = application_templates::MonoDeviceApplication;
using asset_base_t = application_templates::MonoAssetManagerAndBuiltinResourceApplication;
using asset_base_t = BuiltinResourcesApplication;

public:
// Yay thanks to multiple inheritance we cannot forward ctors anymore.
Expand Down
6 changes: 0 additions & 6 deletions 06_MeshLoaders/CMakeLists.txt

This file was deleted.

Loading