summaryrefslogtreecommitdiffstats
path: root/examples/model-viewer/main.cpp
diff options
context:
space:
mode:
authorvenkataram-nv <vedavamadath@nvidia.com>2024-07-01 10:08:04 -0700
committerGitHub <noreply@github.com>2024-07-01 10:08:04 -0700
commit0e71a6d40d2ccdc9e6bb861e7bbdb9479dbec636 (patch)
tree4d43b38d7c1de52caba5e48e118021dced1ac7a8 /examples/model-viewer/main.cpp
parentd276ea3558e2ac0672a3340301d2dec6d5cf321b (diff)
Resource searching for examples (#4518)
Diffstat (limited to 'examples/model-viewer/main.cpp')
-rw-r--r--examples/model-viewer/main.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/examples/model-viewer/main.cpp b/examples/model-viewer/main.cpp
index 121e3fc4b..5f2a39441 100644
--- a/examples/model-viewer/main.cpp
+++ b/examples/model-viewer/main.cpp
@@ -39,6 +39,8 @@ using namespace gfx;
using Slang::RefObject;
using Slang::RefPtr;
+static const ExampleResources resourceBase("model-viewer");
+
struct RendererContext
{
IDevice* device;
@@ -53,8 +55,13 @@ struct RendererContext
{
device = inDevice;
ComPtr<ISlangBlob> diagnostic;
- shaderModule = device->getSlangSession()->loadModule("shaders", diagnostic.writeRef());
+ Slang::String path = resourceBase.resolveResource("shaders.slang").getBuffer();
+ shaderModule = device->getSlangSession()->loadModule(
+ path.getBuffer(),
+ diagnostic.writeRef());
diagnoseIfNeeded(diagnostic);
+ if (!shaderModule)
+ return SLANG_FAIL;
// Compose the shader program for drawing models by combining the shader module
// and entry points ("vertexMain" and "fragmentMain").
@@ -786,7 +793,8 @@ Result initialize()
// Support for loading more interesting/complex models will be added
// to this example over time (although model loading is *not* the focus).
//
- loadAndAddModel("cube.obj");
+ Slang::String path = resourceBase.resolveResource("cube.obj").getBuffer();
+ loadAndAddModel(path.getBuffer());
return SLANG_OK;
}