58 IUnknown_AddRef(iface);
73 TRACE(
"%p increasing refcount to %lu.\n", skin, refcount);
83 TRACE(
"%p decreasing refcount to %lu.\n", skin, refcount);
110 TRACE(
"iface %p, bone_num %lu, num_influences %lu, vertices %p, weights %p.\n",
141 FIXME(
"iface %p, bone_idx %lu, influence_idx %lu, weight %.8e stub!\n",
142 iface, bone_idx, influence_idx,
weight);
151 TRACE(
"iface %p, bone_idx %lu.\n", iface, bone_idx);
156 return skin->
bones[bone_idx].num_influences;
165 TRACE(
"iface %p, bone_idx %lu, vertices %p, weights %p.\n",
185 FIXME(
"iface %p, bone_idx %lu, influence_idx %lu, weight %p, vertex_idx %p stub!\n",
186 iface, bone_idx, influence_idx,
weight, vertex_idx);
193 FIXME(
"iface %p, max_vertex_influences %p stub!\n", iface, max_vertex_influences);
202 TRACE(
"iface %p.\n", iface);
210 FIXME(
"iface %p, bone_idx %lu, vertex_idx %lu, influence_idx %p stub!\n",
211 iface, bone_idx, vertex_idx, influence_idx);
219 FIXME(
"iface %p, index_buffer %p, face_count %lu, max_face_influences %p stub!\n",
220 iface, index_buffer,
face_count, max_face_influences);
227 FIXME(
"iface %p, min_influence %.8e stub!\n", iface, min_influence);
234 FIXME(
"iface %p stub!\n", iface);
253 skin->
bones[bone_idx].name = new_name;
262 TRACE(
"iface %p, bone_idx %lu.\n", iface, bone_idx);
267 return skin->
bones[bone_idx].name;
275 TRACE(
"iface %p, bone_idx %lu, bone_transform %p.\n", iface, bone_idx, bone_transform);
277 if (bone_idx >= skin->
num_bones || !bone_transform)
280 skin->
bones[bone_idx].transform = *bone_transform;
288 TRACE(
"iface %p, bone_idx %lu.\n", iface, bone_idx);
293 return &skin->
bones[bone_idx].transform;
302 TRACE(
"iface %p, skin_info %p.\n", iface, skin_info);
311 if (current_bone->
name &&
FAILED(
hr = (*skin_info)->lpVtbl->SetBoneName(*skin_info,
i, current_bone->
name)))
313 if (
FAILED(
hr = (*skin_info)->lpVtbl->SetBoneOffsetMatrix(*skin_info,
i, ¤t_bone->
transform)))
322 (*skin_info)->lpVtbl->
Release(*skin_info);
329 FIXME(
"iface %p, vertex_count %lu, vertex_remap %p stub!\n", iface,
vertex_count, vertex_remap);
339 TRACE(
"iface %p, fvf %#lx.\n", iface, fvf);
344 return iface->lpVtbl->SetDeclaration(iface,
declaration);
359 WARN(
"Invalid vertex element %u; contains non-zero stream %u\n",
378 TRACE(
"iface %p.\n", iface);
397 const D3DXMATRIX *bone_inv_transpose_transforms,
const void *src_vertices,
void *dst_vertices)
399 FIXME(
"iface %p, bone_transforms %p, bone_inv_transpose_transforms %p, src_vertices %p, dst_vertices %p stub!\n",
400 iface, bone_transforms, bone_inv_transpose_transforms, src_vertices, dst_vertices);
408 ID3DXBuffer **bone_combination_table, ID3DXMesh **mesh_out)
410 FIXME(
"iface %p, mesh_in %p, options %#lx, adjacency_in %p, adjacency_out %p, face_remap %p, vertex_remap %p, "
411 "max_face_influences %p, bone_combination_count %p, bone_combination_table %p, mesh_out %p stub!\n",
412 iface, mesh_in,
options, adjacency_in, adjacency_out, face_remap, vertex_remap,
413 max_face_influences, bone_combination_count, bone_combination_table, mesh_out);
421 ID3DXBuffer **bone_combination_table, ID3DXMesh **mesh_out)
423 FIXME(
"iface %p, mesh_in %p, options %#lx, palette_size %lu, adjacency_in %p, adjacency_out %p, "
424 "face_remap %p, vertex_remap %p, max_vertex_influences %p, bone_combination_count %p, "
425 "bone_combination_table %p, mesh_out %p stub!\n",
426 iface, mesh_in,
options,
palette_size, adjacency_in, adjacency_out, face_remap, vertex_remap,
427 max_vertex_influences, bone_combination_count, bone_combination_table, mesh_out);
464 DWORD bone_count, ID3DXSkinInfo **skin_info)
470 TRACE(
"vertex_count %lu, declaration %p, bone_count %lu, skin_info %p.\n",
476 object =
calloc(1,
sizeof(*
object));
483 object->num_bones = bone_count;
484 object->vertex_declaration[0] = empty_declaration;
487 object->bones =
calloc(bone_count,
sizeof(*
object->bones));
496 *skin_info = &
object->ID3DXSkinInfo_iface;
510 TRACE(
"vertex_count %lu, fvf %#lx, bone_count %lu, skin_info %p.\n",
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define D3DERR_INVALIDCALL
struct ID3DXBuffer ID3DXBuffer
HRESULT WINAPI D3DXDeclaratorFromFVF(DWORD fvf, D3DVERTEXELEMENT9 declaration[MAX_FVF_DECL_SIZE])
HRESULT WINAPI D3DXFVFFromDeclarator(const D3DVERTEXELEMENT9 *declaration, DWORD *fvf)
static unsigned int palette_size(DWORD flags)
static char * strdup(const char *buf)
GLuint GLuint GLsizei count
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define memcpy(s1, s2, n)
#define IsEqualGUID(rguid1, rguid2)
static DWORD WINAPI d3dx9_skin_info_GetNumBoneInfluences(ID3DXSkinInfo *iface, DWORD bone_idx)
static float WINAPI d3dx9_skin_info_GetMinBoneInfluence(ID3DXSkinInfo *iface)
static HRESULT WINAPI d3dx9_skin_info_Clone(ID3DXSkinInfo *iface, ID3DXSkinInfo **skin_info)
HRESULT WINAPI D3DXCreateSkinInfo(DWORD vertex_count, const D3DVERTEXELEMENT9 *declaration, DWORD bone_count, ID3DXSkinInfo **skin_info)
HRESULT WINAPI D3DXCreateSkinInfoFVF(DWORD vertex_count, DWORD fvf, DWORD bone_count, ID3DXSkinInfo **skin_info)
static HRESULT WINAPI d3dx9_skin_info_SetFVF(ID3DXSkinInfo *iface, DWORD fvf)
static const char *WINAPI d3dx9_skin_info_GetBoneName(ID3DXSkinInfo *iface, DWORD bone_idx)
static HRESULT WINAPI d3dx9_skin_info_ConvertToBlendedMesh(ID3DXSkinInfo *iface, ID3DXMesh *mesh_in, DWORD options, const DWORD *adjacency_in, DWORD *adjacency_out, DWORD *face_remap, ID3DXBuffer **vertex_remap, DWORD *max_face_influences, DWORD *bone_combination_count, ID3DXBuffer **bone_combination_table, ID3DXMesh **mesh_out)
static const struct ID3DXSkinInfoVtbl d3dx9_skin_info_vtbl
static HRESULT WINAPI d3dx9_skin_info_SetBoneOffsetMatrix(ID3DXSkinInfo *iface, DWORD bone_idx, const D3DXMATRIX *bone_transform)
static HRESULT WINAPI d3dx9_skin_info_SetBoneInfluence(ID3DXSkinInfo *iface, DWORD bone_num, DWORD num_influences, const DWORD *vertices, const float *weights)
static D3DXMATRIX *WINAPI d3dx9_skin_info_GetBoneOffsetMatrix(ID3DXSkinInfo *iface, DWORD bone_idx)
static HRESULT WINAPI d3dx9_skin_info_ConvertToIndexedBlendedMesh(ID3DXSkinInfo *iface, ID3DXMesh *mesh_in, DWORD options, DWORD palette_size, const DWORD *adjacency_in, DWORD *adjacency_out, DWORD *face_remap, ID3DXBuffer **vertex_remap, DWORD *max_vertex_influences, DWORD *bone_combination_count, ID3DXBuffer **bone_combination_table, ID3DXMesh **mesh_out)
static HRESULT WINAPI d3dx9_skin_info_GetDeclaration(ID3DXSkinInfo *iface, D3DVERTEXELEMENT9 declaration[MAX_FVF_DECL_SIZE])
static HRESULT WINAPI d3dx9_skin_info_GetMaxFaceInfluences(struct ID3DXSkinInfo *iface, struct IDirect3DIndexBuffer9 *index_buffer, DWORD face_count, DWORD *max_face_influences)
static HRESULT WINAPI d3dx9_skin_info_GetMaxVertexInfluences(ID3DXSkinInfo *iface, DWORD *max_vertex_influences)
static HRESULT WINAPI d3dx9_skin_info_SetBoneVertexInfluence(ID3DXSkinInfo *iface, DWORD bone_idx, DWORD influence_idx, float weight)
static ULONG WINAPI d3dx9_skin_info_Release(ID3DXSkinInfo *iface)
static HRESULT WINAPI d3dx9_skin_info_GetBoneVertexInfluence(ID3DXSkinInfo *iface, DWORD bone_idx, DWORD influence_idx, float *weight, DWORD *vertex_idx)
static struct d3dx9_skin_info * impl_from_ID3DXSkinInfo(ID3DXSkinInfo *iface)
static HRESULT WINAPI d3dx9_skin_info_Remap(ID3DXSkinInfo *iface, DWORD vertex_count, DWORD *vertex_remap)
static HRESULT WINAPI d3dx9_skin_info_GetBoneInfluence(ID3DXSkinInfo *iface, DWORD bone_idx, DWORD *vertices, float *weights)
static HRESULT WINAPI d3dx9_skin_info_QueryInterface(ID3DXSkinInfo *iface, REFIID riid, void **out)
static HRESULT WINAPI d3dx9_skin_info_FindBoneVertexInfluenceIndex(ID3DXSkinInfo *iface, DWORD bone_idx, DWORD vertex_idx, DWORD *influence_idx)
static HRESULT WINAPI d3dx9_skin_info_UpdateSkinnedMesh(ID3DXSkinInfo *iface, const D3DXMATRIX *bone_transforms, const D3DXMATRIX *bone_inv_transpose_transforms, const void *src_vertices, void *dst_vertices)
static HRESULT WINAPI d3dx9_skin_info_SetBoneName(ID3DXSkinInfo *iface, DWORD bone_idx, const char *name)
static ULONG WINAPI d3dx9_skin_info_AddRef(ID3DXSkinInfo *iface)
static HRESULT WINAPI d3dx9_skin_info_SetMinBoneInfluence(ID3DXSkinInfo *iface, float min_influence)
static HRESULT WINAPI d3dx9_skin_info_SetDeclaration(ID3DXSkinInfo *iface, const D3DVERTEXELEMENT9 *declaration)
static DWORD WINAPI d3dx9_skin_info_GetNumBones(ID3DXSkinInfo *iface)
static DWORD WINAPI d3dx9_skin_info_GetFVF(ID3DXSkinInfo *iface)
ID3DXSkinInfo ID3DXSkinInfo_iface
D3DVERTEXELEMENT9 vertex_declaration[MAX_FVF_DECL_SIZE]
#define CONTAINING_RECORD(address, type, field)
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out