ReactOS 0.4.17-dev-966-gf06eace
material.c File Reference
#include "ddraw_private.h"
Include dependency graph for material.c:

Go to the source code of this file.

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (ddraw)
 
static void dump_material (const D3DMATERIAL *mat)
 
static struct d3d_material * impl_from_IDirect3DMaterial (IDirect3DMaterial *iface)
 
static struct d3d_material * impl_from_IDirect3DMaterial2 (IDirect3DMaterial2 *iface)
 
static struct d3d_material * impl_from_IDirect3DMaterial3 (IDirect3DMaterial3 *iface)
 
static HRESULT WINAPI d3d_material3_QueryInterface (IDirect3DMaterial3 *iface, REFIID riid, void **obp)
 
static ULONG WINAPI d3d_material3_AddRef (IDirect3DMaterial3 *iface)
 
static ULONG WINAPI d3d_material3_Release (IDirect3DMaterial3 *iface)
 
static HRESULT WINAPI d3d_material1_Initialize (IDirect3DMaterial *iface, IDirect3D *d3d)
 
static HRESULT WINAPI d3d_material1_Reserve (IDirect3DMaterial *iface)
 
static HRESULT WINAPI d3d_material1_Unreserve (IDirect3DMaterial *iface)
 
static HRESULT WINAPI d3d_material3_SetMaterial (IDirect3DMaterial3 *iface, D3DMATERIAL *mat)
 
static HRESULT WINAPI d3d_material3_GetMaterial (IDirect3DMaterial3 *iface, D3DMATERIAL *mat)
 
static HRESULT WINAPI d3d_material3_GetHandle (IDirect3DMaterial3 *iface, IDirect3DDevice3 *device, D3DMATERIALHANDLE *handle)
 
static HRESULT WINAPI d3d_material2_GetHandle (IDirect3DMaterial2 *iface, IDirect3DDevice2 *device, D3DMATERIALHANDLE *handle)
 
static HRESULT WINAPI d3d_material1_GetHandle (IDirect3DMaterial *iface, IDirect3DDevice *device, D3DMATERIALHANDLE *handle)
 
static HRESULT WINAPI d3d_material2_QueryInterface (IDirect3DMaterial2 *iface, REFIID riid, void **object)
 
static HRESULT WINAPI d3d_material1_QueryInterface (IDirect3DMaterial *iface, REFIID riid, void **object)
 
static ULONG WINAPI d3d_material2_AddRef (IDirect3DMaterial2 *iface)
 
static ULONG WINAPI d3d_material1_AddRef (IDirect3DMaterial *iface)
 
static ULONG WINAPI d3d_material2_Release (IDirect3DMaterial2 *iface)
 
static ULONG WINAPI d3d_material1_Release (IDirect3DMaterial *iface)
 
static HRESULT WINAPI d3d_material2_SetMaterial (IDirect3DMaterial2 *iface, D3DMATERIAL *mat)
 
static HRESULT WINAPI d3d_material1_SetMaterial (IDirect3DMaterial *iface, D3DMATERIAL *mat)
 
static HRESULT WINAPI d3d_material2_GetMaterial (IDirect3DMaterial2 *iface, D3DMATERIAL *mat)
 
static HRESULT WINAPI d3d_material1_GetMaterial (IDirect3DMaterial *iface, D3DMATERIAL *mat)
 
void material_activate (struct d3d_material *material)
 
struct d3d_material * d3d_material_create (struct ddraw *ddraw)
 

Variables

static const struct IDirect3DMaterial3Vtbl d3d_material3_vtbl
 
static const struct IDirect3DMaterial2Vtbl d3d_material2_vtbl
 
static const struct IDirect3DMaterialVtbl d3d_material1_vtbl
 

Function Documentation

◆ d3d_material1_AddRef()

static ULONG WINAPI d3d_material1_AddRef ( IDirect3DMaterial *  iface)
static

Definition at line 371 of file material.c.

372{
373 struct d3d_material *material = impl_from_IDirect3DMaterial(iface);
374
375 TRACE("iface %p.\n", iface);
376
378}
static struct d3d_material * impl_from_IDirect3DMaterial(IDirect3DMaterial *iface)
Definition: material.c:29
static ULONG WINAPI d3d_material3_AddRef(IDirect3DMaterial3 *iface)
Definition: material.c:114
#define TRACE(s)
Definition: solgame.cpp:4
IDirect3DMaterial3 IDirect3DMaterial3_iface

◆ d3d_material1_GetHandle()

static HRESULT WINAPI d3d_material1_GetHandle ( IDirect3DMaterial *  iface,
IDirect3DDevice *  device,
D3DMATERIALHANDLE *  handle 
)
static

Definition at line 332 of file material.c.

334{
335 struct d3d_material *material = impl_from_IDirect3DMaterial(iface);
337
338 TRACE("iface %p, device %p, handle %p.\n", iface, device, handle);
339
340 return d3d_material3_GetHandle(&material->IDirect3DMaterial3_iface,
341 device_impl ? &device_impl->IDirect3DDevice3_iface : NULL, handle);
342}
static HRESULT WINAPI d3d_material3_GetHandle(IDirect3DMaterial3 *iface, IDirect3DDevice3 *device, D3DMATERIALHANDLE *handle)
Definition: material.c:291
struct d3d_device * unsafe_impl_from_IDirect3DDevice(IDirect3DDevice *iface)
Definition: device.c:6810
#define NULL
Definition: types.h:112
IDirect3DDevice3 IDirect3DDevice3_iface
DWORD material
Definition: devices.h:37

◆ d3d_material1_GetMaterial()

static HRESULT WINAPI d3d_material1_GetMaterial ( IDirect3DMaterial *  iface,
D3DMATERIAL *  mat 
)
static

Definition at line 425 of file material.c.

426{
427 struct d3d_material *material = impl_from_IDirect3DMaterial(iface);
428
429 TRACE("iface %p, material %p.\n", iface, mat);
430
432}
static HRESULT WINAPI d3d_material3_GetMaterial(IDirect3DMaterial3 *iface, D3DMATERIAL *mat)
Definition: material.c:255
static const MAT2 mat
Definition: font.c:51

◆ d3d_material1_Initialize()

static HRESULT WINAPI d3d_material1_Initialize ( IDirect3DMaterial *  iface,
IDirect3D *  d3d 
)
static

Definition at line 172 of file material.c.

173{
174 TRACE("iface %p, d3d %p.\n", iface, d3d);
175
176 return D3D_OK;
177}
#define D3D_OK
Definition: d3d.h:106

◆ d3d_material1_QueryInterface()

static HRESULT WINAPI d3d_material1_QueryInterface ( IDirect3DMaterial *  iface,
REFIID  riid,
void **  object 
)
static

Definition at line 353 of file material.c.

354{
355 struct d3d_material *material = impl_from_IDirect3DMaterial(iface);
356
357 TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), object);
358
360}
static HRESULT WINAPI d3d_material3_QueryInterface(IDirect3DMaterial3 *iface, REFIID riid, void **obp)
Definition: material.c:63
REFIID riid
Definition: atlbase.h:39
#define debugstr_guid
Definition: kernel32.h:35

◆ d3d_material1_Release()

static ULONG WINAPI d3d_material1_Release ( IDirect3DMaterial *  iface)
static

Definition at line 389 of file material.c.

390{
391 struct d3d_material *material = impl_from_IDirect3DMaterial(iface);
392
393 TRACE("iface %p.\n", iface);
394
396}
static ULONG WINAPI d3d_material3_Release(IDirect3DMaterial3 *iface)
Definition: material.c:134

◆ d3d_material1_Reserve()

static HRESULT WINAPI d3d_material1_Reserve ( IDirect3DMaterial *  iface)
static

Definition at line 189 of file material.c.

190{
191 TRACE("iface %p.\n", iface);
192
193 return DDERR_UNSUPPORTED;
194}
#define DDERR_UNSUPPORTED
Definition: ddraw.h:129

◆ d3d_material1_SetMaterial()

static HRESULT WINAPI d3d_material1_SetMaterial ( IDirect3DMaterial *  iface,
D3DMATERIAL *  mat 
)
static

Definition at line 407 of file material.c.

408{
409 struct d3d_material *material = impl_from_IDirect3DMaterial(iface);
410
411 TRACE("iface %p, material %p.\n", iface, mat);
412
414}
static HRESULT WINAPI d3d_material3_SetMaterial(IDirect3DMaterial3 *iface, D3DMATERIAL *mat)
Definition: material.c:225

◆ d3d_material1_Unreserve()

static HRESULT WINAPI d3d_material1_Unreserve ( IDirect3DMaterial *  iface)
static

Definition at line 205 of file material.c.

206{
207 TRACE("iface %p.\n", iface);
208
209 return DDERR_UNSUPPORTED;
210}

◆ d3d_material2_AddRef()

static ULONG WINAPI d3d_material2_AddRef ( IDirect3DMaterial2 *  iface)
static

Definition at line 362 of file material.c.

363{
364 struct d3d_material *material = impl_from_IDirect3DMaterial2(iface);
365
366 TRACE("iface %p.\n", iface);
367
369}
static struct d3d_material * impl_from_IDirect3DMaterial2(IDirect3DMaterial2 *iface)
Definition: material.c:34

◆ d3d_material2_GetHandle()

static HRESULT WINAPI d3d_material2_GetHandle ( IDirect3DMaterial2 *  iface,
IDirect3DDevice2 *  device,
D3DMATERIALHANDLE *  handle 
)
static

Definition at line 320 of file material.c.

322{
323 struct d3d_material *material = impl_from_IDirect3DMaterial2(iface);
325
326 TRACE("iface %p, device %p, handle %p.\n", iface, device, handle);
327
328 return d3d_material3_GetHandle(&material->IDirect3DMaterial3_iface,
329 device_impl ? &device_impl->IDirect3DDevice3_iface : NULL, handle);
330}
struct d3d_device * unsafe_impl_from_IDirect3DDevice2(IDirect3DDevice2 *iface)
Definition: device.c:6803

◆ d3d_material2_GetMaterial()

static HRESULT WINAPI d3d_material2_GetMaterial ( IDirect3DMaterial2 *  iface,
D3DMATERIAL *  mat 
)
static

Definition at line 416 of file material.c.

417{
418 struct d3d_material *material = impl_from_IDirect3DMaterial2(iface);
419
420 TRACE("iface %p, material %p.\n", iface, mat);
421
423}

◆ d3d_material2_QueryInterface()

static HRESULT WINAPI d3d_material2_QueryInterface ( IDirect3DMaterial2 *  iface,
REFIID  riid,
void **  object 
)
static

Definition at line 344 of file material.c.

345{
346 struct d3d_material *material = impl_from_IDirect3DMaterial2(iface);
347
348 TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), object);
349
351}

◆ d3d_material2_Release()

static ULONG WINAPI d3d_material2_Release ( IDirect3DMaterial2 *  iface)
static

Definition at line 380 of file material.c.

381{
382 struct d3d_material *material = impl_from_IDirect3DMaterial2(iface);
383
384 TRACE("iface %p.\n", iface);
385
387}

◆ d3d_material2_SetMaterial()

static HRESULT WINAPI d3d_material2_SetMaterial ( IDirect3DMaterial2 *  iface,
D3DMATERIAL *  mat 
)
static

Definition at line 398 of file material.c.

399{
400 struct d3d_material *material = impl_from_IDirect3DMaterial2(iface);
401
402 TRACE("iface %p, material %p.\n", iface, mat);
403
405}

◆ d3d_material3_AddRef()

static ULONG WINAPI d3d_material3_AddRef ( IDirect3DMaterial3 *  iface)
static

Definition at line 114 of file material.c.

115{
116 struct d3d_material *material = impl_from_IDirect3DMaterial3(iface);
117 ULONG ref = InterlockedIncrement(&material->ref);
118
119 TRACE("%p increasing refcount to %lu.\n", material, ref);
120
121 return ref;
122}
#define InterlockedIncrement
Definition: armddk.h:53
static struct d3d_material * impl_from_IDirect3DMaterial3(IDirect3DMaterial3 *iface)
Definition: material.c:39
Definition: send.c:48
uint32_t ULONG
Definition: typedefs.h:59

Referenced by d3d_material1_AddRef(), and d3d_material2_AddRef().

◆ d3d_material3_GetHandle()

static HRESULT WINAPI d3d_material3_GetHandle ( IDirect3DMaterial3 *  iface,
IDirect3DDevice3 *  device,
D3DMATERIALHANDLE *  handle 
)
static

Definition at line 291 of file material.c.

293{
294 struct d3d_material *material = impl_from_IDirect3DMaterial3(iface);
296
297 TRACE("iface %p, device %p, handle %p.\n", iface, device, handle);
298
300 material->active_device = device_impl;
301 if (!material->Handle)
302 {
304 if (h == DDRAW_INVALID_HANDLE)
305 {
306 ERR("Failed to allocate a material handle.\n");
308 return DDERR_INVALIDPARAMS; /* Unchecked */
309 }
310
311 material->Handle = h + 1;
312 }
313 *handle = material->Handle;
314 TRACE(" returning handle %#lx.\n", *handle);
316
317 return D3D_OK;
318}
#define ERR(fmt,...)
Definition: precomp.h:57
#define DDRAW_INVALID_HANDLE
DWORD ddraw_allocate_handle(struct ddraw_handle_table *t, void *object, enum ddraw_handle_type type)
Definition: main.c:138
@ DDRAW_HANDLE_MATERIAL
struct d3d_device * unsafe_impl_from_IDirect3DDevice3(IDirect3DDevice3 *iface)
Definition: device.c:6796
unsigned long DWORD
Definition: ntddk_ex.h:95
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
#define DDERR_INVALIDPARAMS
Definition: ddraw.h:81
void WINAPI wined3d_mutex_unlock(void)
Definition: wined3d_main.c:544
void WINAPI wined3d_mutex_lock(void)
Definition: wined3d_main.c:539

Referenced by d3d_material1_GetHandle(), and d3d_material2_GetHandle().

◆ d3d_material3_GetMaterial()

static HRESULT WINAPI d3d_material3_GetMaterial ( IDirect3DMaterial3 *  iface,
D3DMATERIAL *  mat 
)
static

Definition at line 255 of file material.c.

256{
257 struct d3d_material *material = impl_from_IDirect3DMaterial3(iface);
259
260 TRACE("iface %p, mat %p.\n", iface, mat);
261 if (TRACE_ON(ddraw))
262 {
263 TRACE(" Returning material : ");
264 dump_material(&material->mat);
265 }
266
267 /* Copies the material structure */
269 dwSize = mat->dwSize;
270 memcpy(mat, &material->mat, dwSize);
272
273 return DD_OK;
274}
static void dump_material(const D3DMATERIAL *mat)
Definition: material.c:24
#define TRACE_ON(x)
Definition: compat.h:75
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:56
#define DD_OK
Definition: ddraw.h:188
D3DMATERIAL mat

Referenced by d3d_material1_GetMaterial(), and d3d_material2_GetMaterial().

◆ d3d_material3_QueryInterface()

static HRESULT WINAPI d3d_material3_QueryInterface ( IDirect3DMaterial3 *  iface,
REFIID  riid,
void **  obp 
)
static

Definition at line 63 of file material.c.

64{
65 struct d3d_material *material = impl_from_IDirect3DMaterial3(iface);
66
67 TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), obp);
68
69 *obp = NULL;
70
72 {
74 *obp = iface;
75 TRACE(" Creating IUnknown interface at %p.\n", *obp);
76 return S_OK;
77 }
78 if (IsEqualGUID(&IID_IDirect3DMaterial, riid))
79 {
81 *obp = &material->IDirect3DMaterial_iface;
82 TRACE(" Creating IDirect3DMaterial interface %p\n", *obp);
83 return S_OK;
84 }
85 if (IsEqualGUID(&IID_IDirect3DMaterial2, riid))
86 {
88 *obp = &material->IDirect3DMaterial2_iface;
89 TRACE(" Creating IDirect3DMaterial2 interface %p\n", *obp);
90 return S_OK;
91 }
92 if (IsEqualGUID(&IID_IDirect3DMaterial3, riid))
93 {
95 *obp = &material->IDirect3DMaterial3_iface;
96 TRACE(" Creating IDirect3DMaterial3 interface %p\n", *obp);
97 return S_OK;
98 }
99
100 WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(riid));
101
102 return E_NOINTERFACE;
103}
#define WARN(fmt,...)
Definition: precomp.h:61
const GUID IID_IUnknown
#define IDirect3DMaterial2_AddRef(p)
Definition: d3d.h:507
#define IDirect3DMaterial_AddRef(p)
Definition: d3d.h:463
#define IDirect3DMaterial3_AddRef(p)
Definition: d3d.h:545
#define S_OK
Definition: intsafe.h:52
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
IDirect3DMaterial IDirect3DMaterial_iface
IDirect3DMaterial2 IDirect3DMaterial2_iface
#define E_NOINTERFACE
Definition: winerror.h:3479

Referenced by d3d_material1_QueryInterface(), and d3d_material2_QueryInterface().

◆ d3d_material3_Release()

static ULONG WINAPI d3d_material3_Release ( IDirect3DMaterial3 *  iface)
static

Definition at line 134 of file material.c.

135{
136 struct d3d_material *material = impl_from_IDirect3DMaterial3(iface);
137 ULONG ref = InterlockedDecrement(&material->ref);
138
139 TRACE("%p decreasing refcount to %lu.\n", material, ref);
140
141 if (!ref)
142 {
143 if (material->Handle)
144 {
148 }
149
150 free(material);
151 }
152
153 return ref;
154}
#define InterlockedDecrement
Definition: armddk.h:52
void * ddraw_free_handle(struct ddraw_handle_table *t, DWORD handle, enum ddraw_handle_type type)
Definition: main.c:184
#define free
Definition: debug_ros.c:5

Referenced by d3d_material1_Release(), and d3d_material2_Release().

◆ d3d_material3_SetMaterial()

static HRESULT WINAPI d3d_material3_SetMaterial ( IDirect3DMaterial3 *  iface,
D3DMATERIAL *  mat 
)
static

Definition at line 225 of file material.c.

226{
227 struct d3d_material *material = impl_from_IDirect3DMaterial3(iface);
228
229 TRACE("iface %p, mat %p.\n", iface, mat);
230 if (TRACE_ON(ddraw))
232
233 /* Stores the material */
235 memset(&material->mat, 0, sizeof(material->mat));
236 memcpy(&material->mat, mat, mat->dwSize);
238
239 return DD_OK;
240}
#define memset(x, y, z)
Definition: compat.h:39

Referenced by d3d_material1_SetMaterial(), and d3d_material2_SetMaterial().

◆ d3d_material_create()

struct d3d_material * d3d_material_create ( struct ddraw *  ddraw)

Definition at line 498 of file material.c.

499{
500 struct d3d_material *material;
501
502 if (!(material = calloc(1, sizeof(*material))))
503 return NULL;
504
508 material->ref = 1;
509 material->ddraw = ddraw;
510
511 return material;
512}
static const struct IDirect3DMaterial3Vtbl d3d_material3_vtbl
Definition: material.c:459
static const struct IDirect3DMaterialVtbl d3d_material1_vtbl
Definition: material.c:483
static const struct IDirect3DMaterial2Vtbl d3d_material2_vtbl
Definition: material.c:471
#define calloc
Definition: rosglue.h:14
struct ddraw * ddraw

Referenced by d3d1_CreateMaterial(), d3d2_CreateMaterial(), and d3d3_CreateMaterial().

◆ dump_material()

static void dump_material ( const D3DMATERIAL *  mat)
static

Definition at line 24 of file material.c.

25{
26 TRACE(" dwSize : %lu\n", mat->dwSize);
27}

Referenced by d3d_material3_GetMaterial(), and d3d_material3_SetMaterial().

◆ impl_from_IDirect3DMaterial()

static struct d3d_material * impl_from_IDirect3DMaterial ( IDirect3DMaterial *  iface)
inlinestatic

Definition at line 29 of file material.c.

30{
31 return CONTAINING_RECORD(iface, struct d3d_material, IDirect3DMaterial_iface);
32}
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260

Referenced by d3d_material1_AddRef(), d3d_material1_GetHandle(), d3d_material1_GetMaterial(), d3d_material1_QueryInterface(), d3d_material1_Release(), and d3d_material1_SetMaterial().

◆ impl_from_IDirect3DMaterial2()

static struct d3d_material * impl_from_IDirect3DMaterial2 ( IDirect3DMaterial2 *  iface)
inlinestatic

◆ impl_from_IDirect3DMaterial3()

static struct d3d_material * impl_from_IDirect3DMaterial3 ( IDirect3DMaterial3 *  iface)
inlinestatic

◆ material_activate()

void material_activate ( struct d3d_material *  material)

Definition at line 444 of file material.c.

445{
446 D3DMATERIAL7 d3d7mat;
447
448 TRACE("Activating material %p.\n", material);
449
450 d3d7mat.diffuse = material->mat.diffuse;
451 d3d7mat.ambient = material->mat.ambient;
452 d3d7mat.specular = material->mat.specular;
453 d3d7mat.emissive = material->mat.emissive;
454 d3d7mat.power = material->mat.power;
455
456 IDirect3DDevice7_SetMaterial(&material->active_device->IDirect3DDevice7_iface, &d3d7mat);
457}
#define IDirect3DDevice7_SetMaterial(p, a)
Definition: d3d.h:1359
D3DCOLORVALUE emissive
Definition: d3dtypes.h:543
D3DCOLORVALUE specular
Definition: d3dtypes.h:539
D3DCOLORVALUE ambient
Definition: d3dtypes.h:535
D3DVALUE power
Definition: d3dtypes.h:547
D3DCOLORVALUE diffuse
Definition: d3dtypes.h:531
D3DCOLORVALUE ambient
Definition: d3dtypes.h:510
D3DCOLORVALUE emissive
Definition: d3dtypes.h:518
D3DVALUE power
Definition: d3dtypes.h:522
D3DCOLORVALUE diffuse
Definition: d3dtypes.h:506
D3DCOLORVALUE specular
Definition: d3dtypes.h:514
struct d3d_device * active_device

Referenced by d3d_device3_SetLightState().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( ddraw  )

Variable Documentation

◆ d3d_material1_vtbl

const struct IDirect3DMaterialVtbl d3d_material1_vtbl
static
Initial value:
=
{
}
static HRESULT WINAPI d3d_material1_QueryInterface(IDirect3DMaterial *iface, REFIID riid, void **object)
Definition: material.c:353
static HRESULT WINAPI d3d_material1_SetMaterial(IDirect3DMaterial *iface, D3DMATERIAL *mat)
Definition: material.c:407
static HRESULT WINAPI d3d_material1_GetMaterial(IDirect3DMaterial *iface, D3DMATERIAL *mat)
Definition: material.c:425
static HRESULT WINAPI d3d_material1_GetHandle(IDirect3DMaterial *iface, IDirect3DDevice *device, D3DMATERIALHANDLE *handle)
Definition: material.c:332
static HRESULT WINAPI d3d_material1_Reserve(IDirect3DMaterial *iface)
Definition: material.c:189
static HRESULT WINAPI d3d_material1_Initialize(IDirect3DMaterial *iface, IDirect3D *d3d)
Definition: material.c:172
static HRESULT WINAPI d3d_material1_Unreserve(IDirect3DMaterial *iface)
Definition: material.c:205
static ULONG WINAPI d3d_material1_AddRef(IDirect3DMaterial *iface)
Definition: material.c:371
static ULONG WINAPI d3d_material1_Release(IDirect3DMaterial *iface)
Definition: material.c:389

Definition at line 483 of file material.c.

Referenced by d3d_material_create().

◆ d3d_material2_vtbl

const struct IDirect3DMaterial2Vtbl d3d_material2_vtbl
static
Initial value:
=
{
}
static ULONG WINAPI d3d_material2_AddRef(IDirect3DMaterial2 *iface)
Definition: material.c:362
static HRESULT WINAPI d3d_material2_QueryInterface(IDirect3DMaterial2 *iface, REFIID riid, void **object)
Definition: material.c:344
static HRESULT WINAPI d3d_material2_SetMaterial(IDirect3DMaterial2 *iface, D3DMATERIAL *mat)
Definition: material.c:398
static HRESULT WINAPI d3d_material2_GetMaterial(IDirect3DMaterial2 *iface, D3DMATERIAL *mat)
Definition: material.c:416
static HRESULT WINAPI d3d_material2_GetHandle(IDirect3DMaterial2 *iface, IDirect3DDevice2 *device, D3DMATERIALHANDLE *handle)
Definition: material.c:320
static ULONG WINAPI d3d_material2_Release(IDirect3DMaterial2 *iface)
Definition: material.c:380

Definition at line 471 of file material.c.

Referenced by d3d_material_create().

◆ d3d_material3_vtbl

const struct IDirect3DMaterial3Vtbl d3d_material3_vtbl
static