feat(渲染): 重构渲染系统并添加相机支持

- 在Batch中添加纹理采样器uniform设置
- 重构Sprite渲染逻辑,使用Renderer的drawSprite方法
- 添加Camera类并集成到Application和Renderer中
- 支持Y轴翻转的投影矩阵以适应2D游戏坐标系
- 改进颜色处理,移除不必要的归一化计算
- 添加渲染错误处理和日志输出
This commit is contained in:
2026-03-17 18:40:19 +08:00
parent f0298504ac
commit 57a96a0cc5
7 changed files with 56 additions and 28 deletions

View File

@@ -32,9 +32,18 @@ int main(int argc, char **argv) {
auto menuScene = MakePtr<Scene>();
SceneManager::get().PushScene(menuScene);
// 先测试彩色四边形,排除纹理问题
SDL_Log("Testing colored quad...");
// 尝试加载精灵
auto sprite = Sprite::createFromFile("assets\\player.png");
sprite->SetPosition(100, 100);
menuScene->AddActor(sprite);
if (sprite) {
sprite->SetPosition(100, 100);
menuScene->AddActor(sprite);
SDL_Log("Sprite created and added to scene");
} else {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Failed to create sprite from file!");
}
app.run();