diff options
Diffstat (limited to 'examples/example-base/example-base.h')
| -rw-r--r-- | examples/example-base/example-base.h | 42 |
1 files changed, 29 insertions, 13 deletions
diff --git a/examples/example-base/example-base.h b/examples/example-base/example-base.h index b97728e17..c10231c14 100644 --- a/examples/example-base/example-base.h +++ b/examples/example-base/example-base.h @@ -1,10 +1,10 @@ #pragma once #include "slang-gfx.h" -#include "tools/platform/window.h" #include "source/core/slang-basic.h" #include "source/core/slang-io.h" #include "test-base.h" +#include "tools/platform/window.h" #ifdef _WIN32 void _Win32OutputDebugString(const char* str); @@ -34,38 +34,52 @@ protected: int height, gfx::DeviceType deviceType = gfx::DeviceType::Default); - void createFramebuffers(uint32_t width, uint32_t height, gfx::Format colorFormat, uint32_t frameBufferCount); + void createFramebuffers( + uint32_t width, + uint32_t height, + gfx::Format colorFormat, + uint32_t frameBufferCount); void createSwapchainFramebuffers(); void createOfflineFramebuffers(); void mainLoop(); - Slang::ComPtr<gfx::IResourceView> createTextureFromFile(Slang::String fileName, int& textureWidth, int& textureHeight); + Slang::ComPtr<gfx::IResourceView> createTextureFromFile( + Slang::String fileName, + int& textureWidth, + int& textureHeight); virtual void windowSizeChanged(); protected: virtual void renderFrame(int framebufferIndex) = 0; + public: platform::Window* getWindow() { return gWindow.Ptr(); } virtual void finalize() { gQueue->waitOnHost(); } void offlineRender(); }; -struct ExampleResources { +struct ExampleResources +{ Slang::String baseDir; - ExampleResources(const Slang::String &dir) : baseDir(dir) {} - - Slang::String resolveResource(const char* fileName) const { - static const Slang::List<Slang::String> directories { + ExampleResources(const Slang::String& dir) + : baseDir(dir) + { + } + + Slang::String resolveResource(const char* fileName) const + { + static const Slang::List<Slang::String> directories{ "examples", "../examples", "../../examples", }; - - for (const Slang::String& dir : directories) { + + for (const Slang::String& dir : directories) + { Slang::StringBuilder pathSb; - pathSb << dir << "/" << baseDir << "/" << fileName; + pathSb << dir << "/" << baseDir << "/" << fileName; if (Slang::File::exists(pathSb.getBuffer())) return pathSb.toString(); } @@ -77,7 +91,8 @@ struct ExampleResources { int64_t getCurrentTime(); int64_t getTimerFrequency(); -template<typename ... TArgs> inline void reportError(const char* format, TArgs... args) +template<typename... TArgs> +inline void reportError(const char* format, TArgs... args) { printf(format, args...); #ifdef _WIN32 @@ -87,7 +102,8 @@ template<typename ... TArgs> inline void reportError(const char* format, TArgs.. #endif } -template <typename... TArgs> inline void log(const char* format, TArgs... args) +template<typename... TArgs> +inline void log(const char* format, TArgs... args) { reportError(format, args...); } |
