Agent Skills by ALSEL
Anthropic Claudeソフトウェア開発⭐ リポ 34品質スコア 85/100

orklev2-txi

orkidのTextureInterface(TXI)、Texture/TextureArrayクラス、Image(CPUピクセル)、テクスチャフォーマット、サンプリングモード、ミップチェーン、テクスチャの作成/読み込み、共有メモリテクスチャ(ShmTex)、およびPythonのテクスチャ/イメージバインディングについてのご質問にお答えします。ユーザーがテクスチャ、イメージ、テクスチャアレイ、サンプリング、またはテクスチャ読み込みについて質問する際に使用してください。

description の原文を見る

Answer questions about orkid's TextureInterface (TXI), Texture/TextureArray classes, Image (CPU pixels), texture formats, sampling modes, mip chains, texture creation/loading, shared memory textures (ShmTex), and Python texture/image bindings. Use when the user asks about textures, images, texture arrays, sampling, or texture loading.

SKILL.md 本文

Orkid TextureInterface (TXI) リファレンス

orkidのテクスチャ、イメージ、またはテクスチャ管理に関する質問に答える場合は、以下のファイルを参照してください。すべて ork.lev2/ 配下にあります。

キーファイル

コンポーネントファイル
TXI インターフェースinc/ork/lev2/gfx/txi.h (lines 63–130)
Texture / TextureArray / MipChaininc/ork/lev2/gfx/texman.h
Image (CPU側)inc/ork/lev2/gfx/image.h
共有メモリテクスチャinc/ork/lev2/gfx/shmtexture.h
列挙型 (フォーマット、型)inc/ork/lev2/gfx/gfxenv_enum.h
Vulkan TXIsrc/gfx/vulkan/vulkan_txi.cpp
Vulkan データアップロードsrc/gfx/vulkan/vulkan_txi_from_data.cpp
Vulkan アレイsrc/gfx/vulkan/vulkan_txi_from_array.cpp
Python Image バインディングpyext/src/pyext_gfx_image.cpp
Python Texture バインディングpyext/src/pyext_gfx.cpp (lines 371–936)

TXI インターフェース (txi.h:63–130)

メソッド説明
initTextureFromData(tex, TextureInitData)CPU バッファを GPU にアップロード
initTextureArray2DFromData(arr, data)2D テクスチャアレイを作成
initTextureArray2D(arr)空のアレイを割り当て
initTextureArray2DAsync(arr)非同期アレイ割り当て
updateTextureArraySlice(slice, image)単一のアレイスライスを更新
updateTextureArray(array)アレイ全体を更新
createFromMipChain(chain)事前計算されたミップから作成
generateMipMaps(tex)GPU 上にミップチェーンを生成
ApplySamplingMode(tex)フィルター/アドレスモードを適用
destroyTexture(tex)GPU リソースを解放
initTextureFromGpuExternalSurface(tex)IOSurface/DMA-BUF インポート
initFromShm(tex, consumer)共有メモリテクスチャ

Texture (texman.h:157–249)

メンバー説明
_width, _height, _depthint寸法
_num_mipsintミップマップレベル
_texFormatEBufferFormatピクセルフォーマット
_texTypeETextureType1D/2D/3D/CUBE/ARRAY
_sourceETextureSource作成方法
mTexSampleModeTextureSamplingModeDataフィルタリング設定
_implsvarshp_tGPU実装
_chainMipChain*CPU側ミップデータ
_isDepthTextureboolデプステクスチャフラグ

静的メソッド: LoadUnManaged(path)createBlank(w,h,fmt)

TextureArray (texman.h:252–277)

  • _width, _height, _maxslices — 寸法とスライス数
  • _format — すべてのスライスの EBufferFormat
  • load(path) — パスのイメージを新しいスライスに読み込み
  • resize(w, h, maxslices, fmt) — 割り当て
  • slice(index)TextureArraySliceRef

ETextureType

ETEXTYPE_1DETEXTYPE_2DETEXTYPE_3DETEXTYPE_CUBEETEXTYPE_1D_ARRAYETEXTYPE_2D_ARRAYETEXTYPE_3D_ARRAY

ETextureSource

FROM_DATAFROM_RTGFROM_IMAGEFROM_TENSORFROM_MIPCHAINFROM_XTXFROM_DDSFROM_ASSETFROM_ARRAYFROM_DEFAULTMOVIE

サンプリングモード (texman.h:104–118)

TextureSamplingModeData {
  TextureAddressMode _texAddrModeS/T/R;  // CLAMP or WRAP
  ETextureMinifyFilterMode _texFiltModeMin;  // NEAREST, LINEAR, LINEAR_MIPMAP_LINEAR, etc.
  ETextureMagnifyFilterMode _texFiltModeMag; // NEAREST, LINEAR
  float _maxAnisotropy;                      // 1–16x
  int _maxMipLevel;                          // default 8
};

プリセット: presetPointAndClamp()presetTrilinearWrap()presetTrilinearClamp()

MipChain (texman.h:122–153)

  • _levels — MipChainLevel (幅、高さ、データ、長さ) のベクタ
  • _format — EBufferFormat
  • レベルごとの sample<T>(x, y) — 型付きピクセルアクセス

Image (image.h:104–212) — CPU側ピクセルデータ

作成

  • createFromFile(path) — ディスクから読み込み
  • initWithFormat(w, h, fmt) — フォーマット付きの空イメージ
  • initRGB8WithColor(w, h, fvec3) / initRGBA8WithColor(w, h, fvec4) — 単色塗りつぶし
  • fromSvgString(svg, w, h) — SVGをラスタライズ

処理

  • resizedOf(inp, w, h) — リサンプリング
  • downsample() — 2倍削減
  • gaussianBlur(out, kernel_size) — ブラー
  • separableConvolve(out, kernel, threshold) — 1D畳み込み
  • invert(mask)gamma(val, mask)contrast(val, mid, mask)combine(fmtx4) — 色操作

トランスフォーム

  • rotated90cw/ccw()hFlipped/vFlipped() — 新しいイメージを返す
  • rotate90cw/ccw()hFlip/vFlip() — インプレース

フォーマット変換

  • convertToRGBA(out, force_8bc)convertToFormat(fmt)

圧縮

  • compressedMipChainBC7() — BC7圧縮ミップ (ISPCビルド)
  • compressedMipChainDefault() — 自動フォーマット検出
  • uncompressedMipChain() — 非圧縮ミップ

I/O

  • writeToFile(path) / readFromFile(path)

ピクセルアクセス

  • pixel8(x,y)pixel16(x,y)pixel32f(x,y) — 取得/設定

共有メモリテクスチャ (shmtexture.h)

ShmTexProducer — ヘッドレスプロセスがフレームを書き込み

  • create(config) → プロデューサー
  • beginWrite() → バッファポインタ
  • endWrite(timestamp_ns) — フレーム送信
  • トリプルバッファリング、GPUコンテキスト不要

ShmTexConsumer — GPUプロセスがフレームを読み取り

  • create(config) → コンシューマー (SHMセグメントにアタッチ)
  • update(ctx) — ポーリングして新しいフレームを GPU にアップロード
  • texture() → 現在のGPUテクスチャ

Python API

from orkengine import lev2

# Image
img = lev2.Image.createFromFile("photo.png")
img = lev2.Image.createRGBA8FromColor(256, 256, fvec4(1,0,0,1))
img = lev2.Image.fromSvgString(svg_xml, 512, 512)
img.invert()
img.gamma(2.2)
resized = img.resized(128, 128)
img.writeToFile("output.png")

# Texture
tex = lev2.Texture.load("texture.xtx")
tex = txi.createColorTexture(fvec4(1,1,1,1), 64, 64)
txi.updateTexture(tex, img, async=True)
txi.applySamplingMode(tex)

# Texture Array
texarray = lev2.TextureArray(w=256, h=256, slices=32, fmt="RGBA8", mipmapped=True)
slice_ref = texarray.load("slice.png")
txi.updateTextureArray(texarray)

回答方法

  1. TXI メソッド について: txi.h:63–130 を確認
  2. Texture クラス について: texman.h:157–249 を確認
  3. Image 処理 について: image.h:104–212 を確認
  4. サンプリング/フィルタリング について: texman.h:104–118TextureSamplingModeData を確認
  5. フォーマット について: gfxenv_enum.h:121–161 を確認
  6. 共有メモリ について: shmtexture.h を確認
  7. Python について: pyext_gfx.cpppyext_gfx_image.cpp を確認

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
tweakoz
リポジトリ
tweakoz/orkid
ライセンス
MIT
最終更新
2026/5/8

Source: https://github.com/tweakoz/orkid / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: tweakoz · tweakoz/orkid · ライセンス: MIT