Вопрос из облости фантастики. Z-ScreenShot.

Тема в разделе "WASM.DirectX", создана пользователем AlexBond, 1 окт 2005.

  1. Kozyr__

    Kozyr__ New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2005
    Сообщения:
    213
    Адрес:
    Ukraine
    AlexBond

    У меня GeForce4 MX 440. Сюдя по всему, про DirectX можно забыть



    Попробуй то, что я писал выше: использовать только программную прорисовку - может сработать.

    ... или купи RADEON :)))
     
  2. AlexBond

    AlexBond Member

    Публикаций:
    0
    Регистрация:
    30 янв 2005
    Сообщения:
    69
    Адрес:
    Belarus
    _DEN_



    Я слышал ты на фасме пишешь. На масме у меня библиотека не получилось, а вот на фасме вроде да, но почему-то нет точек вызова функций, в дизассемблере видны, может посмотришь, если не трудно, а то уже нет сил. :)

    [​IMG] _2019996600__OpenGL32.zip
     
  3. AlexBond

    AlexBond Member

    Публикаций:
    0
    Регистрация:
    30 янв 2005
    Сообщения:
    69
    Адрес:
    Belarus
    _DEN_



    Ошибку я уже нашел.



    Ну я блин дал, оказывается я не убрал пробелы в названиях функций :). Убрал, точки вызова функций работают, но все равно не запускается, т.к. в памяти не может быть одинаковых dll. Решил попробовать поменять в exe-шнике OPENGL32 на OPENGL33, и чудо все работает.



    Так как же обойти процедуру изменения самого exe-шника?
     
  4. Kozyr__

    Kozyr__ New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2005
    Сообщения:
    213
    Адрес:
    Ukraine
    сорри.
     
  5. AlexBond

    AlexBond Member

    Публикаций:
    0
    Регистрация:
    30 янв 2005
    Сообщения:
    69
    Адрес:
    Belarus
    Kozyr__

    сорри.

    А за что?



    Наверное, отрендерить в текстуру бОльшего размера. Тебе в своей программе или опять в чужой?

    В чужой конечно. А нельзя поподробней как отрендерить в текстуру.

    На счет OpenGL'а, у меня никак не получается рендерить в bitmap, наверное в нем используется всякие там контексты на прямую связанные с экраном и в памяти рендерить не получается. :dntknw:



    Вот тут примерчик на фасме(он мне все больше нравится), по нажатию F2 делаеться zbuffer_01.tga. Что нужно сделать, чтобы не портить exe-шник?

    [​IMG] _832674488__Z_Bufer.zip
     
  6. Kozyr__

    Kozyr__ New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2005
    Сообщения:
    213
    Адрес:
    Ukraine
    AlexBond

    Что нужно сделать, чтобы не портить exe-шник?

    DLL обозвать OPENGL32.DLL, а оригинальную DLL подгружать руками.
     
  7. AlexBond

    AlexBond Member

    Публикаций:
    0
    Регистрация:
    30 янв 2005
    Сообщения:
    69
    Адрес:
    Belarus
    Kozyr__

    DLL обозвать OPENGL32.DLL, а оригинальную DLL подгружать руками.

    Получилось, ложу рядом с exe-шником свою OPENGL32.dll(основывающуюся на OPENGL33.dll) и оригинальную под названием OPENGL33.dll и все заработало :).



    Теперь появилось другая проблема, как сделать дамп Z-буфера со значениями более 1 байта?
     
  8. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    AlexBond



    MSDN: glReadPixels
     
  9. MrMadguy

    MrMadguy New Member

    Публикаций:
    0
    Регистрация:
    11 мар 2006
    Сообщения:
    19
    Адрес:
    Russia
    Пацаны, смотрие прогу D3DSpy из пакета D3D SDK! Там написано как она сделана и как следить за объектами других прграмм из своей.

    Для OpenGL необходимо лишь раздобыть OpenGLRC и все в ажуре.