OberonCore
https://forum.oberoncore.ru/

Direct3D
https://forum.oberoncore.ru/viewtopic.php?f=24&t=2418
Страница 1 из 1

Автор:  Rafi [ Пятница, 05 Март, 2010 00:44 ]
Заголовок сообщения:  Direct3D

Опираясь на документацию к 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 КБ]
Скачиваний: 824
D3d9.odc [3.69 КБ]
Скачиваний: 830

Автор:  Евгений Темиргалеев [ Пятница, 05 Март, 2010 09:09 ]
Заголовок сообщения:  Re: Direct3D

DevComInterfaceGen не пробовали использовать?

Автор:  Rafi [ Пятница, 05 Март, 2010 09:55 ]
Заголовок сообщения:  Re: Direct3D

Пробовал. Выбираю d3d9.dll, нажимаю Generate, но в итоге открывается пустое окно.

Автор:  Евгений Темиргалеев [ Пятница, 05 Март, 2010 10:10 ]
Заголовок сообщения:  Re: Direct3D

а " type library"? Расширение .tlb, кажется.

Автор:  Rafi [ Пятница, 05 Март, 2010 16:59 ]
Заголовок сообщения:  Re: Direct3D

А для Direct3D9 точно есть tlb? Что-то я не могу найти. Или есть какой-то общий для DirectX 9 tlb-файл?

Автор:  Евгений Темиргалеев [ Пятница, 05 Март, 2010 17:45 ]
Заголовок сообщения:  Re: Direct3D

Rafi писал(а):
А для Direct3D9 точно есть tlb?
Не знаю.

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

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/