Начинающий
- Статус
- Оффлайн
- Регистрация
- 7 Июн 2025
- Сообщения
- 15
- Реакции
- 0
Здравствуйте!
Разрабатываю ESP Preview для CS:GO чита - виджет с 3D моделью игрока для предпросмотра настроек ESP. Реализую автономный рендеринг через Direct3D9 (без использования Source Engine API, чтобы работало в главном меню).
Что уже сделано:
VPK Parser - извлечение файлов моделей из pak01_dir.vpk
MDL/VVD/VTX парсеры - загрузка геометрии моделей
D3D9 рендерер - Fixed Pipeline с освещением
Плавное вращение модели
Переключение CT/T моделей
Текущие проблемы:
1. Неестественный рендеринг - модель выглядит вытянутой/странной - 2 скриншот*
- Подозреваю проблему с winding order в VTX парсере
- Временно отключил culling (D3DCULL_NONE)
2. Отсутствие текстур - модель рендерится одним цветом
- Agent модели используют процедурные материалы вместо VTF
- Нужны ли обычные модели (ct_urban, leet и т.д.)?
3. Неполная геометрия - у некоторых моделей отсутствуют части
Технические детали:
- Язык: C++
- API: Direct3D9 Fixed Pipeline
- Вершины: ~10,000-15,000
- Треугольники: ~20,000-30,000
- Освещение: 2 directional lights
- Матрицы: стандартные World/View/Projection
Вопросы:
1. Как правильно применять winding order из VTX файлов?
2. Какие модели лучше использовать для ESP Preview (с текстурами)?
3. Может проблема в матрицах трансформации или освещении?
Код (упрощённо):
// Rendering loop
device->SetRenderTarget(0, render_surface);
device->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_ARGB(0, 0, 0, 0), 1.0f, 0);
D3DXMatrixRotationY(&matWorld, rotation_angle);
device->SetTransform(D3DTS_WORLD, &matWorld);
// View matrix
D3DXVECTOR3 eye(0, 50, -150);
D3DXVECTOR3 at(0, 40, 0);
D3DXMatrixLookAtLH(&matView, &eye, &at, &D3DXVECTOR3(0, 1, 0));
device->DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST, 0, vertex_count, index_count / 3, indices, D3DFMT_INDEX32, vertices, sizeof(Vertex));
Буду благодарен за любую помощь - примеры кода, советы по настройке D3D9, или рекомендации по моделям!
Разрабатываю ESP Preview для CS:GO чита - виджет с 3D моделью игрока для предпросмотра настроек ESP. Реализую автономный рендеринг через Direct3D9 (без использования Source Engine API, чтобы работало в главном меню).
Что уже сделано:
VPK Parser - извлечение файлов моделей из pak01_dir.vpk
MDL/VVD/VTX парсеры - загрузка геометрии моделей
D3D9 рендерер - Fixed Pipeline с освещением
Плавное вращение модели
Переключение CT/T моделей
Текущие проблемы:
1. Неестественный рендеринг - модель выглядит вытянутой/странной - 2 скриншот*
Пожалуйста, авторизуйтесь для просмотра ссылки.
- Подозреваю проблему с winding order в VTX парсере
- Временно отключил culling (D3DCULL_NONE)
2. Отсутствие текстур - модель рендерится одним цветом
- Agent модели используют процедурные материалы вместо VTF
- Нужны ли обычные модели (ct_urban, leet и т.д.)?
3. Неполная геометрия - у некоторых моделей отсутствуют части
Технические детали:
- Язык: C++
- API: Direct3D9 Fixed Pipeline
- Вершины: ~10,000-15,000
- Треугольники: ~20,000-30,000
- Освещение: 2 directional lights
- Матрицы: стандартные World/View/Projection
Вопросы:
1. Как правильно применять winding order из VTX файлов?
2. Какие модели лучше использовать для ESP Preview (с текстурами)?
3. Может проблема в матрицах трансформации или освещении?
Код (упрощённо):
// Rendering loop
device->SetRenderTarget(0, render_surface);
device->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_ARGB(0, 0, 0, 0), 1.0f, 0);
D3DXMatrixRotationY(&matWorld, rotation_angle);
device->SetTransform(D3DTS_WORLD, &matWorld);
// View matrix
D3DXVECTOR3 eye(0, 50, -150);
D3DXVECTOR3 at(0, 40, 0);
D3DXMatrixLookAtLH(&matView, &eye, &at, &D3DXVECTOR3(0, 1, 0));
device->DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST, 0, vertex_count, index_count / 3, indices, D3DFMT_INDEX32, vertices, sizeof(Vertex));
Буду благодарен за любую помощь - примеры кода, советы по настройке D3D9, или рекомендации по моделям!