Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

texture function and unpremulted RGB output

オープン
#1,917 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
cpp

調査の方向性

まず、OSL テクスチャ関数と RGB および alpha 値の処理を追跡します。この issue では実装ファイルやテストは指定されていません。3ds Max でビットマップを使って動作を再現し、既存のテクスチャ動作を壊さずに非プレマルチプライド RGB 出力を保持するオプションを定義して検証します。

索引モデルが issue の本文から書いたものです。

説明

Problem

As a 3ds max user I am going to describe an issue with OSL from a 3ds max perspective, but I have been told that the issue is not with the 3ds max implementation of OSL but the OSL system itself:

Actual behavior: In 3ds max, using OSL to read bitmaps will always produce premultiplied RGB channel output.

Expected behavior: There should be an argument controlling whether to premultipliy RGB channels or not.

Composing materials is very much like compositing in general, and many times you need the raw RGB output unaffected by the alpha. The OSL texture function should contain an argument whether to premultiply the RGB channels or leave them untouched (unpremulted).

Steps to Reproduce
  1. In 3ds max (any version containing OSL) create an OSL node that reads bitmaps (Bitmap Lookup, UberBitmap, etc).
  2. Load a texture file that is clearly unpremultiplied.
  3. Output only the RGB channels into another node and preview the output. The result is always premultiplied, meaning the RGB channels have been multiplied by the alpha even though you only expect the untouched RGB channels.
Versions

Not sure about the version specifics here. All I know is that this issue exists in whatever version of OSL is used by 3ds max 2023, 2024 and 2025.

  • OSL branch/version: n/a
  • OS: n/a
  • C++ compiler: n/a
  • LLVM version: n/a
  • OIIO version: n/a
主要言語
C++
スター
2.3k
フォーク
415
平均マージ
2日 14時間
マージ済み PR(30日)
13

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

AcademySoftwareFoundation/OpenShadingLanguage のほかの issue

AcademySoftwareFoundation/OpenShadingLanguage の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。