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

関連スキル

汎用ソフトウェア開発⭐ リポ 39,967

doubt-driven-development

重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 1,175

apprun-skills

TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。

by yysun
OpenAIソフトウェア開発⭐ リポ 797

desloppify

コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。

by Git-on-my-level
汎用ソフトウェア開発⭐ リポ 39,967

debugging-and-error-recovery

テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

test-driven-development

テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

incremental-implementation

変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。

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