| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Видел скриншот интересной проги, как она работает. |
| Автор: Тигер 3.12.2012, 00:46 |
| Прога перехватывает изображение из игры и как тот отрисовывает "задний" вид. Тоесть ещё одно окошечко с видом назад. Возможно ли такое сделать средствами DirectX или OpenGL или нужно лезть в код игры? |
| Автор: BorisVorontsov 13.12.2012, 14:15 |
| Если игра предоставляет соответствующие средства (например, API для моддеров), можно и не лезть. А в общем случае -- да, придется лезть. Малой кровью такое можно сделать смещением камеры и рендером в текстуру. |
| Автор: tzirechnoy 13.12.2012, 16:11 |
| Теоретически, положыв свою opengl.dll и вызывая (а в половине случаев -- забиндив) функцыи оригинала по необходимости -- можно пытаться каждый второй раз после разных видов glClear вызывать wglMakeCurrent на контекст какого-нибудь окошка и перехватывать glSetMatrix() чтобы менять в матрицэ z-ориентацыю на противоположную. Работать должно в большынстве случаев -- но не всегда, поскольку особо оптимизирующие игрушки могут и не выдавать объектов за спиной в gl, если точно знают что их всё равно не видно. В directx подход будет аналогичный, но имён объектов я дажэ приблизительно не знаю. |