fix: .gitignore + add 44 language JSON files
This commit is contained in:
1 parent
e8fd68e27b
commit
8de545dd2c
227 files changed
+22603
No files matched your search
@@ -0,0 +1,42 @@
|
||||
#pragma once
|
||||
|
||||
// ============================================================================
|
||||
// terrain_manager.h - 地形分块流式加载
|
||||
// ============================================================================
|
||||
|
||||
#include "terrain.h"
|
||||
#include "../Rendering/material.h"
|
||||
#include "../Rendering/renderer.h"
|
||||
#include "../ASM/math_c_fallback.h"
|
||||
|
||||
#define TERRAIN_MAX_CHUNKS 64
|
||||
|
||||
typedef struct {
|
||||
int cx;
|
||||
int cz;
|
||||
Terrain* terrain;
|
||||
Material* material;
|
||||
int loaded;
|
||||
} TerrainChunk;
|
||||
|
||||
typedef struct {
|
||||
TerrainConfig config;
|
||||
TerrainChunk chunks[TERRAIN_MAX_CHUNKS];
|
||||
int chunk_count;
|
||||
int load_radius;
|
||||
int seed;
|
||||
ID3D11Device* device;
|
||||
Material* base_material;
|
||||
} TerrainManager;
|
||||
|
||||
TerrainManager* terrain_manager_create(ID3D11Device* dev, const TerrainConfig* config, Material* base_material);
|
||||
void terrain_manager_destroy(TerrainManager* tm);
|
||||
|
||||
// 根据观察者位置更新分块
|
||||
void terrain_manager_update(TerrainManager* tm, Vec3 observer_pos);
|
||||
|
||||
// 渲染所有已加载分块
|
||||
void terrain_manager_render(TerrainManager* tm, Renderer* renderer);
|
||||
|
||||
// 从世界坐标获取地形高度(在所有已加载分块中采样)
|
||||
float terrain_manager_get_height(TerrainManager* tm, float world_x, float world_z);
|
||||
Reference in new issue
Block a user