Merge remote-tracking branch 'origin/main' into addRender

This commit is contained in:
Hector 2025-10-30 11:49:38 +08:00
commit 7a73e88015
10 changed files with 1771 additions and 598 deletions

155
CLAUDE.md
View File

@ -1,155 +0,0 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## 项目概述
这是一个基于Panda3D的3D渲染引擎和场景编辑器集成了PyQt5界面和多种高级功能
- 3D场景编辑器模型导入、材质系统、碰撞检测
- GUI元素管理2D/3D GUI组件
- 项目管理系统(场景保存/加载、项目打包)
- Cesium地图集成
- 渲染管线增强RenderPipelineFile
## 运行和构建命令
### 启动应用程序
```bash
python Start_Run.py [project_path]
```
或者直接:
```bash
python main.py
```
### 依赖安装
```bash
# 主要依赖
pip install -r requirements/requirements.txt
# Conda环境依赖
pip install -r requirements/conda-requirements.txt
```
### 工具脚本
```bash
# 安装FBX到GLTF转换工具
./install_fbx2gltf.sh
```
## 核心架构
### 主要模块结构
```
EG/
├── main.py # 应用程序入口点
├── Start_Run.py # 启动脚本(路径配置)
├── core/ # 核心功能模块
│ ├── world.py # 3D世界核心继承Panda3DWorld
│ ├── scene_manager.py # 场景和模型管理
│ ├── selection.py # 对象选择系统
│ ├── event_handler.py # 事件处理
│ ├── tool_manager.py # 工具系统
│ ├── vr_manager.py # VR管理器待重构
│ └── vr/ # VR模块模块化重构后
│ ├── rendering/ # 渲染子系统
│ ├── tracking/ # 跟踪子系统
│ ├── interaction/ # 交互子系统
│ ├── visualization/ # 可视化子系统
│ ├── performance/ # 性能优化子系统
│ ├── testing/ # 测试调试子系统
│ └── config/ # 配置子系统
├── gui/ # GUI元素管理
│ └── gui_manager.py # 2D/3D GUI组件
├── ui/ # 用户界面
│ ├── widgets.py # 自定义Qt组件
│ ├── property_panel.py # 属性面板
│ └── interface_manager.py # 界面管理
├── scene/ # 场景相关
│ └── scene_manager.py # 场景管理器
├── project/ # 项目管理
│ └── project_manager.py # 项目生命周期
├── RenderPipelineFile/ # 渲染管线扩展
└── QPanda3D/ # Panda3D Qt集成
```
### 核心设计模式
1. **模块化架构**: 每个功能模块独立,通过管理器类协调
2. **事件驱动**: EventHandler统一处理用户交互和系统事件
3. **组件系统**: SelectionSystem、ToolManager等可插拔组件
4. **MVC分离**: UI组件、核心逻辑和数据管理分离
### 主要依赖集成
- **Panda3D 1.10.15**: 3D渲染引擎
- **PyQt5**: GUI框架
- **QPanda3D**: Panda3D的Qt集成
- **RenderPipeline**: 高级渲染功能
## 开发指南
### 添加新功能模块
1. 在对应目录下创建新的Python文件
2. 继承相应的基类如Panda3DWorld用于3D功能
3. 在main.py中集成新模块
4. 更新界面管理器以添加UI控制
### VR模块开发
VR模块采用模块化架构包含7个子系统
1. **rendering/** - 渲染子系统
- `stages.py`: VR专用渲染stagesGBuffer、光照、环境光、最终合成
2. **tracking/** - 跟踪子系统
- `controllers.py`: VR控制器类LeftController, RightController
3. **interaction/** - 交互子系统
- `actions.py`: OpenVR动作系统
- `joystick.py`: 摇杆输入和转向/传送
- `teleport.py`: 传送系统(抛物线轨迹)
- `grab.py`: 对象抓取和交互
4. **visualization/** - 可视化子系统
- `controllers.py`: 控制器3D模型和射线可视化
- `effects.py`: VR特效管理
5. **config/** - 配置子系统
- `vr_config.py`: VR基础配置
- `joystick_config.py`: 摇杆配置
- `shadow_stage.py`: 阴影stage配置
6. **performance/** - 性能优化子系统(预留)
7. **testing/** - 测试调试子系统(预留)
**使用示例**:
```python
from core.vr import VRManager # 主接口(向后兼容)
from core.vr.interaction.teleport import VRTeleportSystem # 子模块
```
详细信息请查看 `core/vr/README.md`
### 材质和渲染
- 材质系统集成在scene/scene_manager.py
- 支持PBR材质和自定义着色器
- RenderPipelineFile提供高级渲染特性
### GUI开发
- 使用PyQt5构建主界面
- 3D GUI元素通过gui/gui_manager.py管理
- 自定义组件在ui/widgets.py中定义
## 文件约定
- Python文件使用UTF-8编码
- 中文注释和文档字符串
- 模块顶部包含功能描述注释
- 类和方法使用描述性命名
## 注意事项
- 项目依赖多个大型库Panda3D、PyQt5、RenderPipeline
- Cesium集成需要WebEngine支持
- 某些功能可能需要特定的系统配置

View File

17
count_code.sh Executable file
View File

@ -0,0 +1,17 @@
#!/bin/bash
# 清空或创建结果文件
echo "" > results.txt
# 读取一级目录列表并逐个统计代码行数
while read dir; do
if [ -d "$dir" ] && [ "$(dirname "$dir")" = "." ]; then
echo "Processing $dir..."
echo "统计的是文件夹: $dir" >> results.txt
# 使用 cloc 统计代码行数,并将结果追加到文件中
cloc "$dir" >> results.txt
echo "----------------------------------------" >> results.txt
fi
done < directories.txt
echo "统计完成,结果已保存到 results.txt"

View File

@ -1 +0,0 @@
indexunEQOj

View File

@ -1,38 +0,0 @@
#!/bin/bash
# FBX2glTF 安装脚本
echo "开始安装 FBX2glTF..."
# 创建工具目录
mkdir -p ~/tools
# 方案1: 尝试下载 Godot 维护的版本
echo "尝试下载 Godot 维护的 FBX2glTF..."
if wget -O ~/tools/FBX2glTF https://github.com/godotengine/FBX2glTF/releases/download/v0.13.1/FBX2glTF-linux-x64 2>/dev/null; then
chmod +x ~/tools/FBX2glTF
echo "✓ FBX2glTF 下载成功"
else
echo "× Godot版本下载失败尝试原版..."
# 方案2: 尝试下载 Facebook 原版
if wget -O ~/tools/FBX2glTF https://github.com/facebookincubator/FBX2glTF/releases/download/v0.9.7/FBX2glTF-linux-x64 2>/dev/null; then
chmod +x ~/tools/FBX2glTF
echo "✓ FBX2glTF 原版下载成功"
else
echo "× 下载失败,请手动安装"
echo " 1. 访问: https://github.com/godotengine/FBX2glTF/releases"
echo " 2. 下载 FBX2glTF-linux-x64"
echo " 3. 移动到 ~/tools/FBX2glTF"
echo " 4. 运行: chmod +x ~/tools/FBX2glTF"
exit 1
fi
fi
# 添加到 PATH
if ! grep -q "~/tools" ~/.bashrc; then
echo 'export PATH="$HOME/tools:$PATH"' >> ~/.bashrc
echo "✓ 已添加到 PATH"
fi
echo "✓ FBX2glTF 安装完成"
echo "请运行: source ~/.bashrc 或重启终端"

View File

@ -1,277 +0,0 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
快速菜单栏修复脚本
用于诊断和修复菜单栏显示问题
"""
import sys
import os
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QVBoxLayout, QWidget, QPushButton
from PyQt5.QtCore import Qt, QTimer
# 设置环境变量避免DPI问题
os.environ["QT_AUTO_SCREEN_SCALE_FACTOR"] = "1"
os.environ["QT_SCALE_FACTOR"] = "1"
class QuickMenuFix(QMainWindow):
def __init__(self):
super().__init__()
self.setupUI()
def setupUI(self):
"""设置UI"""
self.setWindowTitle("菜单栏快速修复工具")
self.setGeometry(300, 300, 900, 700)
# 强制窗口标志
self.setWindowFlags(Qt.Window)
# 设置主窗口样式
self.setStyleSheet("""
QMainWindow {
background-color: #1E1E1E;
color: #FFFFFF;
}
QPushButton {
background-color: #0078D4;
color: white;
border: none;
padding: 10px 20px;
margin: 5px;
border-radius: 5px;
font-size: 12px;
}
QPushButton:hover {
background-color: #106EBE;
}
QPushButton:pressed {
background-color: #005A9E;
}
""")
# 创建中央部件
central_widget = QWidget()
self.setCentralWidget(central_widget)
layout = QVBoxLayout(central_widget)
# 标题
title = QLabel("🔧 菜单栏修复工具")
title.setStyleSheet("font-size: 24px; font-weight: bold; color: #0078D4; margin: 20px;")
title.setAlignment(Qt.AlignCenter)
layout.addWidget(title)
# 状态显示
self.status_label = QLabel("准备就绪...")
self.status_label.setStyleSheet("font-size: 14px; color: white; margin: 10px; padding: 10px; background-color: #2D2D30; border-radius: 5px;")
self.status_label.setAlignment(Qt.AlignCenter)
layout.addWidget(self.status_label)
# 按钮区域
button_layout = QVBoxLayout()
# 测试按钮
test_btn = QPushButton("🔍 测试菜单栏显示")
test_btn.clicked.connect(self.testMenuBar)
button_layout.addWidget(test_btn)
# 修复按钮
fix_btn = QPushButton("🛠️ 强制修复菜单栏")
fix_btn.clicked.connect(self.forceFixMenuBar)
button_layout.addWidget(fix_btn)
# 重置按钮
reset_btn = QPushButton("🔄 重置菜单栏样式")
reset_btn.clicked.connect(self.resetMenuBarStyle)
button_layout.addWidget(reset_btn)
# 信息按钮
info_btn = QPushButton("📊 显示系统信息")
info_btn.clicked.connect(self.showSystemInfo)
button_layout.addWidget(info_btn)
layout.addLayout(button_layout)
# 创建初始菜单栏
self.createInitialMenuBar()
def createInitialMenuBar(self):
"""创建初始菜单栏"""
menubar = self.menuBar()
menubar.setNativeMenuBar(False)
# 添加基本菜单
file_menu = menubar.addMenu('文件')
file_menu.addAction('新建')
file_menu.addAction('打开')
edit_menu = menubar.addMenu('编辑')
edit_menu.addAction('复制')
edit_menu.addAction('粘贴')
help_menu = menubar.addMenu('帮助')
help_menu.addAction('关于')
print("✅ 初始菜单栏已创建")
def testMenuBar(self):
"""测试菜单栏显示"""
menubar = self.menuBar()
# 收集信息
info = []
info.append(f"可见性: {menubar.isVisible()}")
info.append(f"启用状态: {menubar.isEnabled()}")
info.append(f"高度: {menubar.height()}px")
info.append(f"宽度: {menubar.width()}px")
info.append(f"位置: {menubar.pos()}")
info.append(f"菜单数量: {len(menubar.actions())}")
info.append(f"原生菜单栏: {menubar.isNativeMenuBar()}")
# 显示结果
status_text = "📊 菜单栏状态:\n" + "\n".join(info)
self.status_label.setText(status_text)
# 控制台输出
print("\n🔍 菜单栏测试结果:")
for item in info:
print(f" - {item}")
# 判断是否正常
if menubar.isVisible() and menubar.height() > 0:
self.status_label.setStyleSheet("font-size: 14px; color: white; margin: 10px; padding: 10px; background-color: #0F7B0F; border-radius: 5px;")
print("✅ 菜单栏显示正常")
else:
self.status_label.setStyleSheet("font-size: 14px; color: white; margin: 10px; padding: 10px; background-color: #A80000; border-radius: 5px;")
print("❌ 菜单栏显示异常")
def forceFixMenuBar(self):
"""强制修复菜单栏"""
menubar = self.menuBar()
print("🛠️ 开始强制修复菜单栏...")
# 重置基本属性
menubar.setNativeMenuBar(False)
menubar.setVisible(True)
menubar.setEnabled(True)
# 设置尺寸
menubar.setMinimumHeight(50)
menubar.setMaximumHeight(50)
# 应用强制样式
menubar.setStyleSheet("""
QMenuBar {
background-color: #FF4444 !important;
color: #FFFFFF !important;
border: 4px solid #00FF00 !important;
min-height: 50px !important;
max-height: 50px !important;
font-size: 18px !important;
font-weight: bold !important;
padding: 8px !important;
}
QMenuBar::item {
background-color: #FFFF00 !important;
color: #000000 !important;
padding: 12px 20px !important;
margin: 4px !important;
font-size: 18px !important;
font-weight: bold !important;
border: 2px solid #FF0000 !important;
border-radius: 3px !important;
}
QMenuBar::item:selected {
background-color: #0066FF !important;
color: #FFFFFF !important;
}
""")
# 强制显示和刷新
menubar.show()
menubar.raise_()
menubar.update()
menubar.repaint()
self.update()
self.repaint()
self.status_label.setText("🛠️ 强制修复已应用!\n如果看到红色菜单栏说明修复成功")
self.status_label.setStyleSheet("font-size: 14px; color: white; margin: 10px; padding: 10px; background-color: #FF6600; border-radius: 5px;")
print("🛠️ 强制修复完成")
# 延迟测试结果
QTimer.singleShot(1000, self.testMenuBar)
def resetMenuBarStyle(self):
"""重置菜单栏样式"""
menubar = self.menuBar()
# 清除样式
menubar.setStyleSheet("")
# 重新设置基本样式
menubar.setStyleSheet("""
QMenuBar {
background-color: #2D2D30;
color: #FFFFFF;
border-bottom: 1px solid #3E3E42;
min-height: 30px;
font-size: 14px;
}
QMenuBar::item {
background-color: transparent;
color: #FFFFFF;
padding: 8px 12px;
margin: 0px 2px;
}
QMenuBar::item:selected {
background-color: #0078D4;
}
""")
menubar.update()
self.status_label.setText("🔄 菜单栏样式已重置为正常样式")
self.status_label.setStyleSheet("font-size: 14px; color: white; margin: 10px; padding: 10px; background-color: #2D2D30; border-radius: 5px;")
print("🔄 菜单栏样式已重置")
def showSystemInfo(self):
"""显示系统信息"""
import platform
from PyQt5.QtCore import QT_VERSION_STR, PYQT_VERSION_STR
info = []
info.append(f"操作系统: {platform.system()} {platform.release()}")
info.append(f"Python版本: {sys.version.split()[0]}")
info.append(f"PyQt5版本: {PYQT_VERSION_STR}")
info.append(f"Qt版本: {QT_VERSION_STR}")
info.append(f"屏幕分辨率: {QApplication.desktop().screenGeometry().width()}x{QApplication.desktop().screenGeometry().height()}")
status_text = "📊 系统信息:\n" + "\n".join(info)
self.status_label.setText(status_text)
self.status_label.setStyleSheet("font-size: 12px; color: white; margin: 10px; padding: 10px; background-color: #0078D4; border-radius: 5px;")
print("\n📊 系统信息:")
for item in info:
print(f" - {item}")
def main():
"""主函数"""
app = QApplication(sys.argv)
# 设置应用样式
app.setStyle('Fusion')
print("🚀 启动菜单栏修复工具")
print("📋 这个工具可以帮助诊断和修复菜单栏显示问题")
print("🎯 使用明显的颜色来测试菜单栏是否正常显示")
window = QuickMenuFix()
window.show()
return app.exec_()
if __name__ == "__main__":
sys.exit(main())

400
results.txt Normal file
View File

@ -0,0 +1,400 @@
统计的是文件夹: .
100 files 200 files 300 files 400 files 500 files 600 files 700 files 800 files 900 files 1000 files 1100 files 1200 files 1300 files 1400 files 1500 files 1600 files 1700 files 1800 files 1900 files 2000 files 2100 files 2200 files 2300 files 2400 files 2500 files 2600 files 2700 files 2800 files 2900 files 3000 files 3100 files 3200 files 3300 files 3400 files 3500 files 3600 files 3700 files 3800 files 3900 files 4000 files 4100 files 4200 files 4300 files 4400 files 4500 files 4600 files 4700 files 4800 files 4900 files 5000 files 5100 files 5200 files 5300 files 5400 files 5500 files 5600 files 5700 files 5800 files 5900 files 6000 files 6100 files 6200 files 6300 files 6400 files 6500 files 6600 files 6700 files 6800 files 6900 files 7000 files 7100 files 7200 files 7300 files 7400 files 7500 files 7600 files 7700 files 7800 files 7900 files 8000 files 8100 files 8200 files 8300 files 8400 files 8500 files 8600 files 8700 files 8800 files 8900 files 9000 files 9100 files 9200 files 9300 files 9400 files 9500 files 9600 files 9700 files 9800 files 9900 files 10000 files 10100 files 10200 files 10300 files 10400 files 10500 files 10600 files 10700 files 10800 files 10900 files 11000 files 11100 files 11200 files 11300 files 11400 files 11500 files 11600 files 11700 files 11800 files 11900 files 12000 files 12100 files 12200 files 12300 files 12400 files 12500 files 12600 files 12700 files 12800 files 12900 files 13000 files 13100 files 13200 files 13300 files 13400 files 13495 text files.
classified 13481 files Duplicate file check 13481 files (7001 known unique) Unique: 100 files Unique: 200 files Unique: 300 files Unique: 400 files Unique: 500 files Unique: 600 files Unique: 700 files Unique: 800 files Unique: 900 files Unique: 1000 files Unique: 1100 files Unique: 1200 files Unique: 1300 files Unique: 1400 files Unique: 1500 files Unique: 1600 files Unique: 1700 files Unique: 1800 files Unique: 1900 files Unique: 2000 files Unique: 2100 files Unique: 2200 files Unique: 2300 files Unique: 2400 files Unique: 2500 files Unique: 2600 files Unique: 2700 files Unique: 2800 files Unique: 2900 files Unique: 3000 files Unique: 3100 files Unique: 3200 files Unique: 3300 files Unique: 3400 files Unique: 3500 files Unique: 3600 files Unique: 3700 files Unique: 3800 files Unique: 3900 files Unique: 4000 files Unique: 4100 files Unique: 4200 files Unique: 4300 files Unique: 4400 files Unique: 4500 files Unique: 4600 files Unique: 4700 files Unique: 4800 files Unique: 4900 files Unique: 5000 files Unique: 5100 files Unique: 5200 files Unique: 5300 files Unique: 5400 files Unique: 5500 files Unique: 5600 files Unique: 5700 files Unique: 5800 files Unique: 5900 files Unique: 6000 files Unique: 6100 files Unique: 6200 files Unique: 6300 files Unique: 6400 files Unique: 6500 files Unique: 6600 files Unique: 6700 files Unique: 6800 files Unique: 6900 files Unique: 7000 files 12850 unique files.
Counting: 100 Counting: 200 Counting: 300 Counting: 400 Counting: 500 Counting: 600 Counting: 700 Counting: 800 Counting: 900 Counting: 1000 Counting: 1100 Counting: 1200 Counting: 1300 Counting: 1400 Counting: 1500 Counting: 1600 Counting: 1700 Counting: 1800 Counting: 1900 Counting: 2000 Counting: 2100 Counting: 2200 Counting: 2300 Counting: 2400 Counting: 2500 Counting: 2600 Counting: 2700 Counting: 2800 Counting: 2900 Counting: 3000 Counting: 3100 Counting: 3200 Counting: 3300 Counting: 3400 Counting: 3500 Counting: 3600 Counting: 3700 Counting: 3800 Counting: 3900 Counting: 4000 Counting: 4100 Counting: 4200 Counting: 4300 Counting: 4400 Counting: 4500 Counting: 4600 Counting: 4700 Counting: 4800 Counting: 4900 Counting: 5000 Counting: 5100 Counting: 5200 Counting: 5300 Counting: 5400 Counting: 5500 Counting: 5600 Counting: 5700 Counting: 5800 Counting: 5900 Counting: 6000 Counting: 6100 Counting: 6200 Counting: 6300 Counting: 6400 Counting: 6500 Counting: 6600 Counting: 6700 Counting: 6800 Counting: 6900 Counting: 7000 Counting: 7100 Counting: 7200 Counting: 7300 Counting: 7400 Counting: 7500 Counting: 7600 Counting: 7700 Counting: 7800 Counting: 7900 Counting: 8000 Counting: 8100 Counting: 8200 Counting: 8300 Counting: 8400 Counting: 8500 Counting: 8600 Counting: 8700 Counting: 8800 Counting: 8900 Counting: 9000 Counting: 9100 Counting: 9200 Counting: 9300 Counting: 9400 Counting: 9500 Counting: 9600 Counting: 9700 Counting: 9800 Counting: 9900 Counting: 10000 Counting: 10100 Counting: 10200 Counting: 10300 Counting: 10400 Counting: 10500 Counting: 10600 Counting: 10700 Counting: 10800 Counting: 10900 Counting: 11000 Counting: 11100 Counting: 11200 Counting: 11300 Counting: 11400 Counting: 11500 Counting: 11600 Counting: 11700 Counting: 11800 Counting: 11900 Counting: 12000 Counting: 12100 Counting: 12200 Counting: 12300 Counting: 12400 Counting: 12500 Counting: 12600 Counting: 12700 Counting: 12800 3124 files ignored.
github.com/AlDanial/cloc v 1.90 T=7.99 s (1323.0 files/s, 354425.3 lines/s)
---------------------------------------------------------------------------------------
Language files blank comment code
---------------------------------------------------------------------------------------
Python 6244 229180 324244 996200
JSON 157 5 0 424470
C/C++ Header 1096 37242 94299 182139
QML 1533 23679 45784 113180
XML 159 5698 2287 82978
C++ 365 12118 21015 57289
CSV 30 0 0 36702
Tcl/Tk 143 4585 10091 30211
GLSL 191 3174 6711 9703
Markdown 43 1669 0 8417
SVG 10 3 3 7149
C 69 677 1204 6687
Gencat NLS 147 15 0 5268
Objective-C++ 17 966 1400 4438
Cython 24 840 513 3965
Qt 4 56 0 3827
Bourne Shell 28 672 1115 3740
Lisp 3 591 1115 3726
YAML 58 522 291 2661
make 2 240 279 1610
CMake 52 264 151 1478
SQL 4 0 0 1398
HTML 5 69 2 1391
Fortran 90 60 129 97 987
diff 2 172 1015 874
reStructuredText 9 255 128 638
Perl 3 86 133 616
Windows Module Definition 6 26 3 558
JavaScript 9 88 237 504
Oracle PL/SQL 4 150 8 423
Fortran 77 24 29 55 400
Logos 1 40 40 194
TOML 34 34 34 136
Meson 3 24 9 122
Bourne Again Shell 2 18 28 114
PowerShell 1 49 90 108
DOS Batch 9 16 6 60
INI 6 5 1 47
Fish Shell 1 13 14 42
IDL 1 11 0 40
TNSDL 1 6 0 28
Java 1 6 3 16
C Shell 1 9 5 12
Fortran 95 1 0 1 4
Visual Basic Script 1 0 0 4
CSS 1 2 4 0
---------------------------------------------------------------------------------------
SUM: 10565 323433 512415 1994554
---------------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./.conda
100 files 200 files 300 files 400 files 500 files 600 files 700 files 800 files 900 files 1000 files 1100 files 1200 files 1300 files 1400 files 1500 files 1600 files 1700 files 1800 files 1900 files 2000 files 2100 files 2200 files 2300 files 2400 files 2500 files 2600 files 2700 files 2800 files 2900 files 3000 files 3100 files 3200 files 3300 files 3400 files 3500 files 3600 files 3700 files 3800 files 3900 files 4000 files 4100 files 4200 files 4300 files 4400 files 4500 files 4600 files 4700 files 4800 files 4900 files 5000 files 5100 files 5200 files 5300 files 5400 files 5500 files 5600 files 5700 files 5800 files 5900 files 6000 files 6100 files 6200 files 6300 files 6400 files 6500 files 6600 files 6700 files 6800 files 6900 files 7000 files 7100 files 7200 files 7300 files 7400 files 7500 files 7600 files 7700 files 7800 files 7900 files 8000 files 8100 files 8200 files 8300 files 8400 files 8500 files 8600 files 8700 files 8800 files 8900 files 9000 files 9100 files 9200 files 9300 files 9400 files 9500 files 9600 files 9700 files 9800 files 9900 files 10000 files 10100 files 10200 files 10300 files 10400 files 10500 files 10600 files 10700 files 10800 files 10900 files 11000 files 11100 files 11200 files 11300 files 11400 files 11500 files 11600 files 11700 files 11800 files 11804 text files.
classified 11790 files Duplicate file check 11790 files (6423 known unique) Unique: 100 files Unique: 200 files Unique: 300 files Unique: 400 files Unique: 500 files Unique: 600 files Unique: 700 files Unique: 800 files Unique: 900 files Unique: 1000 files Unique: 1100 files Unique: 1200 files Unique: 1300 files Unique: 1400 files Unique: 1500 files Unique: 1600 files Unique: 1700 files Unique: 1800 files Unique: 1900 files Unique: 2000 files Unique: 2100 files Unique: 2200 files Unique: 2300 files Unique: 2400 files Unique: 2500 files Unique: 2600 files Unique: 2700 files Unique: 2800 files Unique: 2900 files Unique: 3000 files Unique: 3100 files Unique: 3200 files Unique: 3300 files Unique: 3400 files Unique: 3500 files Unique: 3600 files Unique: 3700 files Unique: 3800 files Unique: 3900 files Unique: 4000 files Unique: 4100 files Unique: 4200 files Unique: 4300 files Unique: 4400 files Unique: 4500 files Unique: 4600 files Unique: 4700 files Unique: 4800 files Unique: 4900 files Unique: 5000 files Unique: 5100 files Unique: 5200 files Unique: 5300 files Unique: 5400 files Unique: 5500 files Unique: 5600 files Unique: 5700 files Unique: 5800 files Unique: 5900 files Unique: 6000 files Unique: 6100 files Unique: 6200 files Unique: 6300 files Unique: 6400 files 11177 unique files.
Counting: 100 Counting: 200 Counting: 300 Counting: 400 Counting: 500 Counting: 600 Counting: 700 Counting: 800 Counting: 900 Counting: 1000 Counting: 1100 Counting: 1200 Counting: 1300 Counting: 1400 Counting: 1500 Counting: 1600 Counting: 1700 Counting: 1800 Counting: 1900 Counting: 2000 Counting: 2100 Counting: 2200 Counting: 2300 Counting: 2400 Counting: 2500 Counting: 2600 Counting: 2700 Counting: 2800 Counting: 2900 Counting: 3000 Counting: 3100 Counting: 3200 Counting: 3300 Counting: 3400 Counting: 3500 Counting: 3600 Counting: 3700 Counting: 3800 Counting: 3900 Counting: 4000 Counting: 4100 Counting: 4200 Counting: 4300 Counting: 4400 Counting: 4500 Counting: 4600 Counting: 4700 Counting: 4800 Counting: 4900 Counting: 5000 Counting: 5100 Counting: 5200 Counting: 5300 Counting: 5400 Counting: 5500 Counting: 5600 Counting: 5700 Counting: 5800 Counting: 5900 Counting: 6000 Counting: 6100 Counting: 6200 Counting: 6300 Counting: 6400 Counting: 6500 Counting: 6600 Counting: 6700 Counting: 6800 Counting: 6900 Counting: 7000 Counting: 7100 Counting: 7200 Counting: 7300 Counting: 7400 Counting: 7500 Counting: 7600 Counting: 7700 Counting: 7800 Counting: 7900 Counting: 8000 Counting: 8100 Counting: 8200 Counting: 8300 Counting: 8400 Counting: 8500 Counting: 8600 Counting: 8700 Counting: 8800 Counting: 8900 Counting: 9000 Counting: 9100 Counting: 9200 Counting: 9300 Counting: 9400 Counting: 9500 Counting: 9600 Counting: 9700 Counting: 9800 Counting: 9900 Counting: 10000 Counting: 10100 Counting: 10200 Counting: 10300 Counting: 10400 Counting: 10500 Counting: 10600 Counting: 10700 Counting: 10800 Counting: 10900 Counting: 11000 Counting: 11100 2835 files ignored.
github.com/AlDanial/cloc v 1.90 T=7.27 s (1255.9 files/s, 350927.8 lines/s)
---------------------------------------------------------------------------------------
Language files blank comment code
---------------------------------------------------------------------------------------
Python 5886 209236 300696 922241
JSON 150 5 0 423997
C/C++ Header 751 32588 87955 168435
QML 1533 23679 45784 113180
XML 144 5577 2218 81859
CSV 30 0 0 36702
Tcl/Tk 143 4585 10091 30211
SVG 10 3 3 7149
Gencat NLS 147 15 0 5268
Cython 24 840 513 3965
C 62 535 1020 3745
C++ 27 759 1268 3742
Lisp 3 591 1115 3726
Bourne Shell 26 663 1107 3702
make 2 240 279 1610
SQL 4 0 0 1398
HTML 3 39 0 1146
Fortran 90 60 129 97 987
reStructuredText 9 255 128 638
Perl 3 86 133 616
Windows Module Definition 6 26 3 558
JavaScript 9 88 237 504
Fortran 77 24 29 55 400
CMake 8 69 106 322
Markdown 5 95 0 283
Oracle PL/SQL 2 58 1 176
TOML 34 34 34 136
Meson 3 24 9 122
Bourne Again Shell 2 18 28 114
PowerShell 1 49 90 108
Fish Shell 1 13 14 42
IDL 1 11 0 40
INI 3 5 1 36
TNSDL 1 6 0 28
GLSL 5 2 0 20
C Shell 1 9 5 12
DOS Batch 2 0 1 4
Fortran 95 1 0 1 4
Visual Basic Script 1 0 0 4
CSS 1 2 4 0
---------------------------------------------------------------------------------------
SUM: 9128 280363 452996 1817230
---------------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./config
1 text file.
1 unique file.
0 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.00 s (283.8 files/s, 4256.4 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
JSON 1 0 0 15
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./core
42 text files.
classified 42 files 42 unique files.
2 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.09 s (459.8 files/s, 288494.6 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 37 4470 4940 15211
Markdown 2 87 0 376
JSON 1 0 0 15
-------------------------------------------------------------------------------
SUM: 40 4557 4940 15602
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./demo
78 text files.
classified 78 files 76 unique files.
2 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.06 s (1327.3 files/s, 304453.2 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 59 2680 2242 8991
Markdown 17 835 0 2685
-------------------------------------------------------------------------------
SUM: 76 3515 2242 11676
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./.git
28 text files.
classified 28 files 27 unique files.
16 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.01 s (2025.6 files/s, 123091.5 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Bourne Shell 12 76 221 320
Perl 1 31 42 100
-------------------------------------------------------------------------------
SUM: 13 107 263 420
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./gui
2 text files.
classified 2 files 2 unique files.
0 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.02 s (114.8 files/s, 229371.1 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 2 611 792 2592
-------------------------------------------------------------------------------
SUM: 2 611 792 2592
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./icons
0 text files.
0 unique files.
0 files ignored.
----------------------------------------
统计的是文件夹: ./.idea
2 text files.
classified 2 files 2 unique files.
0 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.00 s (559.4 files/s, 5874.0 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
XML 2 0 0 21
-------------------------------------------------------------------------------
SUM: 2 0 0 21
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./new
1 text file.
1 unique file.
0 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.00 s (317.4 files/s, 2538.9 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
JSON 1 0 0 8
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./pandatool
100 files 200 files 300 files 400 files 500 files 600 files 700 files 800 files 813 text files.
classified 813 files Duplicate file check 813 files (741 known unique) Unique: 100 files Unique: 200 files Unique: 300 files Unique: 400 files Unique: 500 files Unique: 600 files Unique: 700 files 813 unique files.
Counting: 100 Counting: 200 Counting: 300 Counting: 400 Counting: 500 Counting: 600 Counting: 700 Counting: 800 94 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.19 s (3707.7 files/s, 599048.5 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
C++ 322 10974 18463 52386
C/C++ Header 326 4228 5468 12834
Objective-C++ 17 966 1400 4438
C 7 142 184 2942
CMake 44 195 45 1156
Logos 1 40 40 194
XML 1 0 0 47
Java 1 6 3 16
-------------------------------------------------------------------------------
SUM: 719 16551 25603 74013
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./project
2 text files.
classified 2 files 2 unique files.
0 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.01 s (226.3 files/s, 179492.4 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 2 207 678 701
-------------------------------------------------------------------------------
SUM: 2 207 678 701
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./__pycache__
0 text files.
0 unique files.
0 files ignored.
----------------------------------------
统计的是文件夹: ./QPanda3D
11 text files.
classified 11 files 11 unique files.
0 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.01 s (1241.1 files/s, 165632.9 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 11 164 302 1002
-------------------------------------------------------------------------------
SUM: 11 164 302 1002
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./RenderPipelineFile
100 files 200 files 300 files 400 files 500 files 600 files 680 text files.
classified 680 files Duplicate file check 680 files (556 known unique) Unique: 100 files Unique: 200 files Unique: 300 files Unique: 400 files Unique: 500 files 666 unique files.
Counting: 100 Counting: 200 Counting: 300 Counting: 400 Counting: 500 Counting: 600 173 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.23 s (2345.6 files/s, 323519.0 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 212 6403 6791 24544
GLSL 186 3172 6711 9683
Qt 4 56 0 3827
YAML 57 522 291 2646
C++ 16 385 1284 1161
XML 12 121 69 1051
diff 2 172 1015 874
C/C++ Header 19 426 876 870
Oracle PL/SQL 2 92 7 247
Markdown 14 103 0 165
DOS Batch 7 16 5 56
INI 3 0 0 11
-------------------------------------------------------------------------------
SUM: 534 11468 17049 45135
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./requirements
5 text files.
classified 5 files 5 unique files.
3 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.00 s (512.2 files/s, 26888.2 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Markdown 1 25 0 65
YAML 1 0 0 15
-------------------------------------------------------------------------------
SUM: 2 25 0 80
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./Resources
0 text files.
0 unique files.
6 files ignored.
----------------------------------------
统计的是文件夹: ./scene
3 text files.
classified 3 files 3 unique files.
0 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.02 s (149.3 files/s, 214977.7 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 3 716 718 2886
-------------------------------------------------------------------------------
SUM: 3 716 718 2886
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./scripts
18 text files.
classified 18 files 18 unique files.
0 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.01 s (1698.9 files/s, 145633.6 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 18 286 369 888
-------------------------------------------------------------------------------
SUM: 18 286 369 888
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./templates
1 text file.
1 unique file.
0 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.01 s (115.1 files/s, 180384.1 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 1 288 155 1124
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./tex
0 text files.
0 unique files.
0 files ignored.
----------------------------------------
统计的是文件夹: ./ui
11 text files.
classified 11 files 11 unique files.
0 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.09 s (122.9 files/s, 283346.1 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 11 3852 6278 15225
-------------------------------------------------------------------------------
SUM: 11 3852 6278 15225
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./vr_actions
4 text files.
classified 4 files 4 unique files.
0 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.00 s (964.3 files/s, 107521.5 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
JSON 4 0 0 446
-------------------------------------------------------------------------------
SUM: 4 0 0 446
-------------------------------------------------------------------------------
----------------------------------------
统计的是文件夹: ./.vscode
1 text file.
1 unique file.
0 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.00 s (284.9 files/s, 1139.6 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
JSON 1 0 0 4
-------------------------------------------------------------------------------
----------------------------------------

View File

@ -1,123 +0,0 @@
#!/bin/bash
# VR性能测试启动脚本
# 使用方法: ./run_vr_test.sh
echo "🚀 VR性能测试启动脚本"
echo "======================"
# 检查是否在正确的目录
if [ ! -f "vr_performance_test.py" ]; then
echo "❌ 错误找不到vr_performance_test.py文件"
echo "请在EG项目根目录运行此脚本"
exit 1
fi
# 检查Python是否可用
if ! command -v python3 &> /dev/null; then
if ! command -v python &> /dev/null; then
echo "❌ 错误找不到Python解释器"
exit 1
else
PYTHON_CMD="python"
fi
else
PYTHON_CMD="python3"
fi
echo "✓ 使用Python解释器: $PYTHON_CMD"
# 检查核心模块是否存在
if [ ! -d "core" ]; then
echo "❌ 错误找不到core目录"
echo "请确保在EG项目根目录中运行"
exit 1
fi
if [ ! -f "core/vr_manager.py" ]; then
echo "❌ 错误找不到core/vr_manager.py文件"
echo "VR管理器模块不存在"
exit 1
fi
echo "✓ 核心模块检查通过"
# 检查VR相关依赖
echo "🔍 检查VR依赖..."
$PYTHON_CMD -c "import openvr" 2>/dev/null
if [ $? -eq 0 ]; then
echo "✓ OpenVR Python绑定可用"
else
echo "⚠️ 警告OpenVR Python绑定不可用"
echo " 如果需要VR功能请安装: pip install openvr"
fi
$PYTHON_CMD -c "from panda3d.core import Vec3" 2>/dev/null
if [ $? -eq 0 ]; then
echo "✓ Panda3D可用"
else
echo "❌ 错误Panda3D不可用"
echo "请安装Panda3D: pip install panda3d"
exit 1
fi
# 检查可选的性能监控依赖
echo "🔍 检查性能监控依赖..."
$PYTHON_CMD -c "import psutil" 2>/dev/null
if [ $? -eq 0 ]; then
echo "✓ psutil可用CPU/内存监控)"
else
echo "⚠️ 建议安装psutil以获得完整性能监控: pip install psutil"
fi
$PYTHON_CMD -c "import GPUtil" 2>/dev/null
if [ $? -eq 0 ]; then
echo "✓ GPUtil可用GPU监控"
else
echo "⚠️ 建议安装GPUtil以获得GPU监控: pip install GPUtil"
fi
echo ""
echo "🎮 启动前检查清单:"
echo "□ VR头显已连接并开机"
echo "□ SteamVR正在运行"
echo "□ VR头显已完成初始设置"
echo "□ VR跟踪系统正常工作"
echo ""
# 询问用户是否继续
echo "是否继续启动VR性能测试"
echo "按Enter继续或按Ctrl+C取消..."
read -r
echo ""
echo "🚀 正在启动VR性能测试..."
echo "控制说明:"
echo " ESC - 退出测试"
echo " 1-9 - 设置场景复杂度"
echo " R - 重置性能计数器"
echo " P - 手动输出性能报告"
echo " D - 切换调试模式"
echo "VR分辨率控制"
echo " Q - 切换质量预设 (性能/平衡/质量)"
echo " [ - 降低分辨率缩放"
echo " ] - 提高分辨率缩放"
echo " I - 显示分辨率信息"
echo ""
# 启动测试
$PYTHON_CMD vr_performance_test.py
# 检查退出状态
if [ $? -eq 0 ]; then
echo ""
echo "✅ VR性能测试正常结束"
else
echo ""
echo "❌ VR性能测试异常退出错误代码$?"
fi
echo "📋 检查当前目录中的CSV文件获取详细性能数据"
echo "📖 查看VR_PERFORMANCE_TEST_README.md获取详细使用说明"

View File

@ -1,4 +0,0 @@
# 检查当前分支和状态
git status
git branch -v
git log --oneline --graph --all -10

File diff suppressed because it is too large Load Diff