ejoy / ant

Ant game engine
MIT License
3.8k stars 383 forks source link

编辑器模式启动 test/simple 报错 #140

Open HengHuH opened 4 months ago

HengHuH commented 4 months ago

运行:

.\bin\msvc\release\ant.exe .\tools\editor\main.lua .\test\simple

第一个报错:

[2024-05-11 11:45:21.20][ERROR]( ant.window|window ) attempt to index a nil value (field '?')
stack traceback:
        ( service:6 )
        D:/workspace/ant/pkg/ant.render/postprocess/postprocess.lua:61: in field 'set_stage_output'
        D:/workspace/ant/pkg/ant.efk/efk.lua:137: in upvalue 'create_fb'
        D:/workspace/ant/pkg/ant.efk/efk.lua:170: in local 'f'
        D:/workspace/ant/pkg/ant.world/main.lua:475: in local 'changed'
        D:/workspace/ant/pkg/ant.world/main.lua:580: in method 'pipeline_init'
        D:/workspace/ant/pkg/ant.window/service/window.lua:59: in upvalue 'f'

此报错的原因是:

  1. test/simple/graphic_settings.ant 中的 graphic/postprocess.effect.enable = false 配置生效了
  2. pkg/ant.render/postprocess/postprocess.lua 中 frame_graph[effect] == nil
  3. efk.lua,line 137, ifg.set_stage_output("effect", handle) 命中 Error

可以把 test/simple/settings.ant 的 enable 设置为 true,跳过此错误,bug 还在。


触发第二个错误:

// pkg/ant.render/viewport/state.lua, line 27,
assert(refw > refh)

命中断言 注释掉此行,可正确打开编辑器。

HengHuH commented 4 months ago

第二个错误已在 #143 中解决