OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 22:10

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Direct3D
СообщениеДобавлено: Пятница, 05 Март, 2010 00:44 

Зарегистрирован: Суббота, 02 Август, 2008 23:01
Сообщения: 43
Опираясь на документацию к COM и интерфейсный модуль к DirectShow из подсистемы Mt, попытался написать интерфейсный модуль к Direct3D. В итоге что-то работает, а что-то нет.
Например, описал я интерфейс IDirect3D9 и его метод GetAdapterDisplayMode. И, судя по всему, метод этот работает, так как в итоге в записи D3DDISPLAYMODE у меня записываются, например, ширина и высота окна рендеринга.
Но вот описываю далее точно также интерфейс IDirect3DDevice9 и его метод Clear, и при вызове этого метода у меня трап говорит: NIL dereference (read).

Вот описание этого метода из MSDN:
Код:
HRESULT Clear(
  DWORD Count,
  CONST D3DRECT * pRects,
  DWORD Flags,
  D3DCOLOR Color,
  float Z,
  DWORD Stencil
);


В своём модуле я написал так:
Код:

D3DRECT* = RECORD [untagged]
   x1*, y1*: LONGINT;
   x2*, y2*: LONGINT
END;

IDirect3DDevice9* = POINTER TO ABSTRACT RECORD
   ["{02177241-69FC-400C-8FF1-93A44DF6861D}"] (COM.IUnknown) END;

PROCEDURE (this: IDirect3DDevice9) Clear* (Count: INTEGER; IN pRects: D3DRECT; Flags: INTEGER;  Color: D3DCOLOR; Z: SHORTREAL; Stencil: INTEGER): COM.RESULT, NEW, ABSTRACT;


Вложения:
Main.odc [4.07 КБ]
Скачиваний: 703
D3d9.odc [3.69 КБ]
Скачиваний: 721
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Direct3D
СообщениеДобавлено: Пятница, 05 Март, 2010 09:09 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
DevComInterfaceGen не пробовали использовать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Direct3D
СообщениеДобавлено: Пятница, 05 Март, 2010 09:55 

Зарегистрирован: Суббота, 02 Август, 2008 23:01
Сообщения: 43
Пробовал. Выбираю d3d9.dll, нажимаю Generate, но в итоге открывается пустое окно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Direct3D
СообщениеДобавлено: Пятница, 05 Март, 2010 10:10 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
а " type library"? Расширение .tlb, кажется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Direct3D
СообщениеДобавлено: Пятница, 05 Март, 2010 16:59 

Зарегистрирован: Суббота, 02 Август, 2008 23:01
Сообщения: 43
А для Direct3D9 точно есть tlb? Что-то я не могу найти. Или есть какой-то общий для DirectX 9 tlb-файл?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Direct3D
СообщениеДобавлено: Пятница, 05 Март, 2010 17:45 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Rafi писал(а):
А для Direct3D9 точно есть tlb?
Не знаю.

Кажется, делал генератором интерфейсы библиотеки mshtml. tlb был не то в SDK, не то в вижуал студии...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB