Skip to content

srcs__renderer__texture_atlas_cpp

Ishi_eenn edited this page May 19, 2026 · 2 revisions

srcs/renderer/texture_atlas.cpp

役割

ブロック用テクスチャアトラスをプロシージャル生成し、OpenGLテクスチャへアップロードする。

関数一覧

  • hash2: 行 40-48
  • clamp255: 行 51-53
  • setPixel: 行 56-64
  • fillDirt: 行 72-103
  • fillGrass: 行 110-141
  • fillStone: 行 148-173
  • fillSand: 行 180-200
  • fillSnow: 行 207-224
  • fillWater: 行 232-255
  • fillWood: 行 262-292
  • fillLeaves: 行 299-328
  • fillGrassSide: 行 337-367
  • fillSolid: 行 370-378
  • TextureAtlas::generate: 行 390-426
  • TextureAtlas::bind: 行 433-436
  • TextureAtlas::destroy: 行 438-440
  • TextureAtlas::~TextureAtlas: 行 442-442
  • TextureAtlas::getUV: 行 450-460

関数ごとの説明

hash2

  • 場所: 行 40-48
  • シグネチャ: static uint8_t hash2(int x, int y, int seed)
  • 内容: 座標や値から決定的な擬似乱数/ハッシュ値を生成する。
  • 主な呼び出し: hash2()

clamp255

  • 場所: 行 51-53
  • シグネチャ: static inline int clamp255(int v)
  • 内容: このファイルの責務に沿った補助処理を行う。
  • 主な呼び出し: clamp255()

setPixel

  • 場所: 行 56-64
  • シグネチャ: static inline void setPixel(uint8_t* buf, int atlas_w, int ox, int oy, int px, int py, int r, int g, int b, int a = 255)
  • 内容: 内部状態や対象データに新しい値を設定する。
  • 主な呼び出し: clamp255()

fillDirt

  • 場所: 行 72-103
  • シグネチャ: static void fillDirt(uint8_t* buf, int atlas_w, int tile_col, int tile_row)
  • 内容: テクスチャアトラス内の対象タイルをプロシージャルに塗りつぶす。
  • 主な呼び出し: fillDirt(), hash2(), setPixel()

fillGrass

  • 場所: 行 110-141
  • シグネチャ: static void fillGrass(uint8_t* buf, int atlas_w, int tile_col, int tile_row)
  • 内容: テクスチャアトラス内の対象タイルをプロシージャルに塗りつぶす。
  • 主な呼び出し: fillGrass(), hash2(), setPixel()

fillStone

  • 場所: 行 148-173
  • シグネチャ: static void fillStone(uint8_t* buf, int atlas_w, int tile_col, int tile_row)
  • 内容: テクスチャアトラス内の対象タイルをプロシージャルに塗りつぶす。
  • 主な呼び出し: fillStone(), hash2(), setPixel()

fillSand

  • 場所: 行 180-200
  • シグネチャ: static void fillSand(uint8_t* buf, int atlas_w, int tile_col, int tile_row)
  • 内容: テクスチャアトラス内の対象タイルをプロシージャルに塗りつぶす。
  • 主な呼び出し: fillSand(), hash2(), setPixel()

fillSnow

  • 場所: 行 207-224
  • シグネチャ: static void fillSnow(uint8_t* buf, int atlas_w, int tile_col, int tile_row)
  • 内容: テクスチャアトラス内の対象タイルをプロシージャルに塗りつぶす。
  • 主な呼び出し: fillSnow(), hash2(), setPixel()

fillWater

  • 場所: 行 232-255
  • シグネチャ: static void fillWater(uint8_t* buf, int atlas_w, int tile_col, int tile_row)
  • 内容: テクスチャアトラス内の対象タイルをプロシージャルに塗りつぶす。
  • 主な呼び出し: fillWater(), hash2(), setPixel()

fillWood

  • 場所: 行 262-292
  • シグネチャ: static void fillWood(uint8_t* buf, int atlas_w, int tile_col, int tile_row)
  • 内容: テクスチャアトラス内の対象タイルをプロシージャルに塗りつぶす。
  • 主な呼び出し: fillWood(), hash2(), setPixel()

fillLeaves

  • 場所: 行 299-328
  • シグネチャ: static void fillLeaves(uint8_t* buf, int atlas_w, int tile_col, int tile_row)
  • 内容: テクスチャアトラス内の対象タイルをプロシージャルに塗りつぶす。
  • 主な呼び出し: fillLeaves(), hash2(), setPixel()

fillGrassSide

  • 場所: 行 337-367
  • シグネチャ: static void fillGrassSide(uint8_t* buf, int atlas_w, int tile_col, int tile_row)
  • 内容: テクスチャアトラス内の対象タイルをプロシージャルに塗りつぶす。
  • 主な呼び出し: fillGrassSide(), hash2(), setPixel()

fillSolid

  • 場所: 行 370-378
  • シグネチャ: static void fillSolid(uint8_t* buf, int atlas_w, int tile_col, int tile_row, uint8_t r, uint8_t g, uint8_t b, uint8_t a = 255)
  • 内容: テクスチャアトラス内の対象タイルをプロシージャルに塗りつぶす。
  • 主な呼び出し: setPixel()

TextureAtlas::generate

  • 場所: 行 390-426
  • シグネチャ: bool TextureAtlas::generate()
  • 内容: 各ブロック用タイル画像を生成し、1枚のOpenGLテクスチャアトラスとしてアップロードする。
  • 主な呼び出し: generate(), memset(), fillSolid(), fillGrass(), fillDirt(), fillStone(), fillSand(), fillSnow(), fillWater(), fillWood()

TextureAtlas::bind

  • 場所: 行 433-436
  • シグネチャ: void TextureAtlas::bind(uint32_t slot) const
  • 内容: このファイルの責務に沿った補助処理を行う。
  • 主な呼び出し: bind(), glActiveTexture(), glBindTexture()

TextureAtlas::destroy

  • 場所: 行 438-440
  • シグネチャ: void TextureAtlas::destroy()
  • 内容: 確保済みのリソースを解放し、再利用されない状態にする。
  • 主な呼び出し: destroy(), glDeleteTextures()

TextureAtlas::~TextureAtlas

  • 場所: 行 442-442
  • シグネチャ: TextureAtlas::~TextureAtlas()
  • 内容: このファイルの責務に沿った補助処理を行う。
  • 主な呼び出し: TextureAtlas(), destroy()

TextureAtlas::getUV

  • 場所: 行 450-460
  • シグネチャ: AtlasUV TextureAtlas::getUV(BlockType type) const
  • 内容: 内部状態または計算結果を取得して返す。
  • 主な呼び出し: getUV()

Clone this wiki locally