Qt USD Viewer & Ray Tracing
Budget: ₹1,500 – ₹12,500 INR
I’m building a cross-platform desktop tool in Qt/C++ that reads Universal Scene Description (USD) files, previews them in real-time with OpenGL Phong shading, and then renders the exact same scenes through a custom CPU-based ray tracer. The OpenGL preview must feel snappy and fluid—that’s the single most critical piece—so the whole pipeline, from USD parsing to shader dispatch, has to stay in sync at interactive frame rates.
Once the scene is set, the user switches to the ray-tracing back end. The tracer must handle multiple lights, shadows, reflections, refractions and user-defined materials that mirror what the OpenGL shader shows. I also need a UI panel (Qt Widgets or QML—your call) where we can tweak camera position, FOV, resolution, max depth, samples per pixel, and any post-process you add. An advanced research feature—say adaptive sampling, BVH refit, or spectral rendering—should be integrated to push either realism or performance beyond the basics.
Scope & deliverables
• Stand-alone Qt application with USD loading, interactive viewport (OpenGL 4.x / GLSL), and C++17 ray tracer
• Three instructor-supplied USD scenes fully supported plus three original scenes you will model or kitbash yourself
• Side-by-side image sets and a 15-second ray-traced clip highlighting reflections, refractions and soft shadows
• A 60-second screen-captured demo video walking through the interface, camera controls, live preview, and final render results
• Performance metrics comparing FPS in OpenGL and samples-per-second in the tracer, summarized in graphs or tables
• 4–6 page report (PDF) covering architecture, data flow between USD, OpenGL and the tracer, your research feature, challenges, and future work
• Complete, well-commented source code, build scripts, and all assets ready to compile on Windows or Linux with Qt 6 and the USD SDK
Acceptance
The application must load each test scene, orbit smoothly at 30 FPS or better in the OpenGL viewport at 1080p, and produce a noise-free 1080p ray-traced frame in under two minutes on a modern desktop CPU. All videos and the report should clearly contrast the real-time preview with the path-traced output and highlight the added research feature’s benefit.
Once the scene is set, the user switches to the ray-tracing back end. The tracer must handle multiple lights, shadows, reflections, refractions and user-defined materials that mirror what the OpenGL shader shows. I also need a UI panel (Qt Widgets or QML—your call) where we can tweak camera position, FOV, resolution, max depth, samples per pixel, and any post-process you add. An advanced research feature—say adaptive sampling, BVH refit, or spectral rendering—should be integrated to push either realism or performance beyond the basics.
Scope & deliverables
• Stand-alone Qt application with USD loading, interactive viewport (OpenGL 4.x / GLSL), and C++17 ray tracer
• Three instructor-supplied USD scenes fully supported plus three original scenes you will model or kitbash yourself
• Side-by-side image sets and a 15-second ray-traced clip highlighting reflections, refractions and soft shadows
• A 60-second screen-captured demo video walking through the interface, camera controls, live preview, and final render results
• Performance metrics comparing FPS in OpenGL and samples-per-second in the tracer, summarized in graphs or tables
• 4–6 page report (PDF) covering architecture, data flow between USD, OpenGL and the tracer, your research feature, challenges, and future work
• Complete, well-commented source code, build scripts, and all assets ready to compile on Windows or Linux with Qt 6 and the USD SDK
Acceptance
The application must load each test scene, orbit smoothly at 30 FPS or better in the OpenGL viewport at 1080p, and produce a noise-free 1080p ray-traced frame in under two minutes on a modern desktop CPU. All videos and the report should clearly contrast the real-time preview with the path-traced output and highlight the added research feature’s benefit.
Related categories:
C Programming
CUDA
C++ Programming
Computer Graphics
OpenGL
Qt
Data Visualization
Desktop Application