fix(render): 修复白屏/黑屏——视图矩阵、UI着色器、网格构建性能与安装目录
- 相机视图矩阵按 R_cam^T·T(-pos) 正确推导(旧布局非正交,非零视角下场景塌缩为灰屏) - UI 片元着色器改为纹理×颜色(旧实现丢弃纹理 RGB,彩色纹理全白) - UI 纹理与图集 mipmap:图集补齐 2 次幂、UI 上传不生成 mipmap(NPOT 不完整纹理采样纯白) - 网格构建持一次读锁(旧实现每格邻居查询各加锁约 40 万次/区块,出生区块迟迟无网格, 玩家透过脚下的洞看到地下横截面——进游戏黑屏主因);脏区块按距离排序优先构建 - 开启背面剔除(CW 正面):区块边界面向未加载邻居的内侧面不再以暗色出现在视野里 - 出生逻辑:等区块加载后定位地表出生,相机略微俯视 - dev 截图测试:-shot 等待玩家所在 5×5 区块网格就绪再拍(48s 兜底),先测试后打包 - 安装器改为按用户安装到 LOCALAPPDATA(Program Files 无写权限导致启动即崩) - dev 截图工具独立成 devshot_gl.go
This commit is contained in:
@@ -18,9 +18,10 @@
|
||||
|
||||
Name "${PRODUCT_NAME}"
|
||||
OutFile "..\dist\${INSTALLER_NAME}"
|
||||
InstallDir "$PROGRAMFILES64\${PRODUCT_NAME_EN}"
|
||||
InstallDirRegKey HKLM "${UNINSTALL_KEY}" "InstallLocation"
|
||||
RequestExecutionLevel admin
|
||||
; 按用户安装(游戏需要往自身目录写日志/存档,Program Files 无写入权限会导致启动崩溃)
|
||||
InstallDir "$LOCALAPPDATA\Programs\${PRODUCT_NAME_EN}"
|
||||
InstallDirRegKey HKCU "${UNINSTALL_KEY}" "InstallLocation"
|
||||
RequestExecutionLevel user
|
||||
SetCompressor /SOLID lzma
|
||||
|
||||
!define MUI_ABORTWARNING
|
||||
@@ -68,15 +69,15 @@ Section "主程序" SEC01
|
||||
FileWrite $0 "世界存档目录:游戏会自动把世界保存到这里。"
|
||||
FileClose $0
|
||||
|
||||
; 注册卸载信息
|
||||
WriteRegStr HKLM "${UNINSTALL_KEY}" "DisplayName" "${PRODUCT_NAME}"
|
||||
WriteRegStr HKLM "${UNINSTALL_KEY}" "DisplayVersion" "${VERSION}"
|
||||
WriteRegStr HKLM "${UNINSTALL_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
|
||||
WriteRegStr HKLM "${UNINSTALL_KEY}" "DisplayIcon" "$INSTDIR\${PRODUCT_EXE}"
|
||||
WriteRegStr HKLM "${UNINSTALL_KEY}" "InstallLocation" "$INSTDIR"
|
||||
WriteRegStr HKLM "${UNINSTALL_KEY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
||||
WriteRegDWORD HKLM "${UNINSTALL_KEY}" "NoModify" 1
|
||||
WriteRegDWORD HKLM "${UNINSTALL_KEY}" "NoRepair" 1
|
||||
; 注册卸载信息(按用户安装 → HKCU)
|
||||
WriteRegStr HKCU "${UNINSTALL_KEY}" "DisplayName" "${PRODUCT_NAME}"
|
||||
WriteRegStr HKCU "${UNINSTALL_KEY}" "DisplayVersion" "${VERSION}"
|
||||
WriteRegStr HKCU "${UNINSTALL_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
|
||||
WriteRegStr HKCU "${UNINSTALL_KEY}" "DisplayIcon" "$INSTDIR\${PRODUCT_EXE}"
|
||||
WriteRegStr HKCU "${UNINSTALL_KEY}" "InstallLocation" "$INSTDIR"
|
||||
WriteRegStr HKCU "${UNINSTALL_KEY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
||||
WriteRegDWORD HKCU "${UNINSTALL_KEY}" "NoModify" 1
|
||||
WriteRegDWORD HKCU "${UNINSTALL_KEY}" "NoRepair" 1
|
||||
|
||||
WriteUninstaller "$INSTDIR\uninstall.exe"
|
||||
|
||||
@@ -98,5 +99,5 @@ Section "Uninstall"
|
||||
RMDir /r "$INSTDIR\resourcepacks"
|
||||
RMDir /r "$INSTDIR\mods"
|
||||
; 保留用户存档(worlds/)与日志,不删除
|
||||
DeleteRegKey HKLM "${UNINSTALL_KEY}"
|
||||
DeleteRegKey HKCU "${UNINSTALL_KEY}"
|
||||
SectionEnd
|
||||
|
||||
Reference in New Issue
Block a user