载入中...
搜索中...
未找到
VoxelWorld.h
浏览该文件的文档.
90 void setTerrainParams(uint32_t seed, uint8_t top, uint8_t sub, uint8_t stone, float baseHeight, float amplitude,
125 void selectVisible(const float *viewProj16, float eyeX, float eyeY, float eyeZ, float viewRange,
In-memory byte buffer implementing eve::Data (ref-counted).
Definition ByteData.h:11
3D frame / mesh / light / shadow rendering surface.
Definition IGraphics3D.h:28
GPU texture created via Graphics::newTexture. Owns GPU resources through an opaque backend handle.
Definition Texture.h:17
One 32³ voxel chunk with six direction-sorted packed-rect instance buffers. Coordinates: chunk (cx,...
Definition Chunk.h:18
Sparse chunk map + visibility selection (frustum + distance + face orientation). Meshing is neighbor-...
Definition VoxelWorld.h:52
data::ByteData * saveWorld() const
Script-facing wrappers around serialize/deserialize.
Definition VoxelWorld.cpp:222
int terrainHeightAt(int wx, int wz) const
Terrain height (world blocks) at a column for the configured seed.
Definition VoxelWorld.cpp:35
StreamStats streamAround(int centerX, int centerY, int centerZ, int radiusChunks, const std::function< void(Chunk &, int, int, int)> &generator={})
Player-centered streaming: evict chunks outside radiusChunks, then allocate + fill + mesh missing chu...
Definition VoxelWorld.cpp:101
void setVoxelByName(int wx, int wy, int wz, const std::string &name, int orientation=0)
按方块名 + orientation(0..3) 设置体素;内部解析为具体类型 id 后写 Chunk。 未注册的名字按空气(0)处理。
Definition VoxelWorld.cpp:498
void setTerrainParams(uint32_t seed, uint8_t top, uint8_t sub, uint8_t stone, float baseHeight, float amplitude, float scale)
Configure the built-in terrain generator used by streamAround(). The sampling itself lives in procgen...
Definition VoxelWorld.cpp:19
uint8_t getCubeTypeTex(int wx, int wy, int wz, const std::string &faceDir) const
该体素在某面方向上的纹理 id(faceDir 如 "posX"/"+y"/"negZ")。
Definition VoxelWorld.cpp:510
uint8_t getVoxel(int wx, int wy, int wz) const
World-space voxel get/set. Air (0) never allocates a chunk; a border edit also invalidates the adjace...
Definition VoxelWorld.cpp:363
~VoxelWorld()
VoxelWorld(const CubeTypeRegistry &types)
Definition VoxelWorld.h:56
Chunk * getOrCreateChunk(int cx, int cy, int cz)
Definition VoxelWorld.cpp:47
int getVisibleChunkCount() const
Script accessors for the last selectVisible result.
Definition VoxelWorld.h:132
bool raycast(float ox, float oy, float oz, float dx, float dy, float dz, float maxDist, int &hitX, int &hitY, int &hitZ, int &prevX, int &prevY, int &prevZ, int &faceX, int &faceY, int &faceZ) const
Voxel raycast (Amanatides & Woo DDA). Returns true when a solid voxel is found within maxDist world u...
Definition VoxelWorld.cpp:413
bool deserializeWorld(const uint8_t *data, size_t size)
Definition VoxelWorld.cpp:200
void drawVisible(graphics::IGraphics3D *gfx, graphics::Texture *atlas, int tilesPerRow=16)
Issue Graphics::drawVoxelFaceInstances for every visible batch. Requires begin3DFrame + setMesh3DView...
Definition VoxelWorld.cpp:353
void setVoxel(int wx, int wy, int wz, uint8_t texId)
Definition VoxelWorld.cpp:372
VoxelWorld()=default
bool raycastScript(float ox, float oy, float oz, float dx, float dy, float dz, float maxDist)
Script-facing raycast: stores the last result, returns hit/miss.
Definition VoxelWorld.cpp:490
int getVisibleBatchCount() const
Definition VoxelWorld.h:128
std::string getCubeTypeName(int wx, int wy, int wz) const
该体素所属方块类型名(未注册或空气返回空串)。
Definition VoxelWorld.cpp:505
void selectVisible(const float *viewProj16, float eyeX, float eyeY, float eyeZ, float viewRange, bool faceCull=true)
Select chunks/faces to draw.
Definition VoxelWorld.cpp:281
void removeChunk(int cx, int cy, int cz)
Definition VoxelWorld.cpp:71
Chunk * getChunk(int cx, int cy, int cz)
Definition VoxelWorld.cpp:57
void getVisibleChunkCoord(int index, int &cx, int &cy, int &cz) const
Definition VoxelWorld.cpp:339
bool hasChunk(int cx, int cy, int cz) const
Definition VoxelWorld.cpp:67
int getVisibleRectCount() const
Definition VoxelWorld.cpp:347
const DrawBatch & getVisibleBatch(int index) const
Definition VoxelWorld.h:129
int unloadChunksOutside(int centerX, int centerY, int centerZ, int radiusChunks)
Streaming eviction: drop chunks whose center is farther than radiusChunks chunk units from (centerX,...
Definition VoxelWorld.cpp:79
int remeshDirty(int maxThreads=0)
Remesh every dirty chunk. Returns number remeshed.
Definition VoxelWorld.cpp:233
void serializeWorld(std::vector< uint8_t > &out) const
Persistence: serialize every chunk (coords + raw voxels) into out. Format is portable little-endian: ...
Definition VoxelWorld.cpp:176
Definition ByteData.cpp:7
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition AnimTrail.h:6
Definition BuiltinAlgorithms.cpp:13
方块类型定义:名字、各面图集纹理、方向性、组合声明。 方向性方块在注册时按 orientation 绕 Y 轴展开成多个"具体类型"变体, 每个变体持有旋转后的各面纹理;渲染端只消费纹理 id,不接触 ...
Definition Chunk.h:12
FaceDir
Six axis-aligned face directions. Each chunk keeps a separate instance buffer per direction so camera...
Definition FaceDir.h:17
One draw batch: all packed rects of one face direction for one chunk.
Definition VoxelWorld.h:39