Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Add example-tinyrender: a minimal standalone renderer test against the installed OSL

未关闭
#2,175 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
38/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
cpp

调研方向

Start by reviewing the existing testsuite/example-* tests and the OSL-enabled RTIOW version in the linked Path-Tracer project. Trace the planned flow from compiling .osl shaders with the installed oslc through registering and sampling closures; done means a minimal standalone renderer produces a small image matching a reference image without the unnecessary TBB or BVH dependencies.

由索引模型根据 Issue 内容生成。

描述

A follow-up from the discussion in https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/discussions/2163. (Creating this issue to better track the task and to ask questions as they come up.)

OSL has testrender and testshade to test its implementation, but they are built as part of OSL itself. So passing tests don't guarantee that the installed OSL works for downstream consumers. The testsuite/example-* tests fill part of that gap: they build against the installed OSL and test what they need to. What's still missing is a standalone renderer doing the same, i.e., registering closures, running shaders at ray hits, and sampling the closures they return.

The new RTIOW-based test, which I will call example-tinyrender, will follow the same idea: use the installed version of OSL and act as a minimal standalone renderer. (The alternative name was example-rtiow, but "rtiow", I find, is a bit too cryptic for most readers, whereas with "tinyrender" you don't have to second-guess what it means. And I can just mention in a comment that it's based on the path tracer from RTIOW.)

I already have an OSL-enabled RTIOW version in https://github.com/jinhgkim/Path-Tracer. However, it still needs to be stripped down, since it depends on TBB, includes a BVH, etc. My goal is to provide an end-to-end regression test, from compiling .osl shaders (using the installed oslc) to sampling closures, while keeping it minimal. It will render a small image and compare it against a reference image. That's the high-level plan, and I'll hash out the details as I go.

主要语言
C++
星标
2.3k
派生
414
平均合并
2 天 14 小时
30 天内合并 PR
13

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

AcademySoftwareFoundation/OpenShadingLanguage 的其他 Issue

查看 AcademySoftwareFoundation/OpenShadingLanguage 的全部 Issue

相似的 Issue

更多 C++ Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。