⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cal3d_wrapper.h

📁 Cal3D实现虚拟角色 Cal3D实现虚拟角色
💻 H
📖 第 1 页 / 共 3 页
字号:
  CAL3D_WRAPPER_API void CalMesh_SetLodLevel(struct CalMesh *self, float lodLevel);  CAL3D_WRAPPER_API void CalMesh_SetMaterialSet(struct CalMesh *self, int setId);  CAL3D_WRAPPER_API void CalMesh_SetModel(struct CalMesh *self, struct CalModel *pModel);//****************************************************************************//// CalMixer wrapper functions declaration                                     ////****************************************************************************//  CAL3D_WRAPPER_API enum Boolean CalMixer_BlendCycle(struct CalMixer *self, int id, float weight, float delay);  CAL3D_WRAPPER_API enum Boolean CalMixer_ClearCycle(struct CalMixer *self, int id, float delay);  CAL3D_WRAPPER_API void CalMixer_Delete(struct CalMixer *self);  CAL3D_WRAPPER_API enum Boolean CalMixer_ExecuteAction(struct CalMixer *self, int id, float delayIn, float delayOut, enum Boolean autoLock);  CAL3D_WRAPPER_API struct CalMixer *CalMixer_New(struct CalModel *pModel);  CAL3D_WRAPPER_API void CalMixer_UpdateAnimation(struct CalMixer *self, float deltaTime);  CAL3D_WRAPPER_API void CalMixer_UpdateSkeleton(struct CalMixer *self);  CAL3D_WRAPPER_API void CalMixer_RemoveAction(struct CalMixer *self,int id);//****************************************************************************//// CalMorphTargetMixer wrapper functions declaration                          ////****************************************************************************//  CAL3D_WRAPPER_API enum Boolean CalMorphTargetMixer_Blend(struct CalMorphTargetMixer *self, int id, float weight, float delay);  CAL3D_WRAPPER_API enum Boolean CalMorphTargetMixer_Clear(struct CalMorphTargetMixer *self, int id, float delay);  CAL3D_WRAPPER_API void CalMorphTargetMixer_Delete(struct CalMorphTargetMixer *self);  CAL3D_WRAPPER_API struct CalMorphTargetMixer *CalMorphTargetMixer_New(struct CalModel *pModel);  CAL3D_WRAPPER_API void CalMorphTargetMixer_Update(struct CalMorphTargetMixer *self, float deltaTime);  CAL3D_WRAPPER_API int CalMorphTargetMixer_GetMorphTargetCount(struct CalMorphTargetMixer *self);//****************************************************************************//// CalModel wrapper functions declaration                                     ////****************************************************************************//  CAL3D_WRAPPER_API enum Boolean CalModel_AttachMesh(struct CalModel *self, int coreMeshId);  CAL3D_WRAPPER_API void CalModel_Delete(struct CalModel *self);  CAL3D_WRAPPER_API enum Boolean CalModel_DetachMesh(struct CalModel *self, int coreMeshId);  CAL3D_WRAPPER_API struct CalCoreModel *CalModel_GetCoreModel(struct CalModel *self);  CAL3D_WRAPPER_API struct CalMesh *CalModel_GetMesh(struct CalModel *self, int coreMeshId);  CAL3D_WRAPPER_API struct CalMixer *CalModel_GetMixer(struct CalModel *self);  CAL3D_WRAPPER_API struct CalMorphTargetMixer *CalModel_GetMorphTargetMixer(struct CalModel *self);  CAL3D_WRAPPER_API struct CalPhysique *CalModel_GetPhysique(struct CalModel *self);  CAL3D_WRAPPER_API struct CalRenderer *CalModel_GetRenderer(struct CalModel *self);  CAL3D_WRAPPER_API struct CalSkeleton *CalModel_GetSkeleton(struct CalModel *self);  CAL3D_WRAPPER_API struct CalSpringSystem *CalModel_GetSpringSystem(struct CalModel *self);  CAL3D_WRAPPER_API CalUserData CalModel_GetUserData(struct CalModel *self);//  CAL3D_WRAPPER_API std::vector<CalMesh *>& CalModel_GetVectorMesh(struct CalModel *self);  CAL3D_WRAPPER_API struct CalModel *CalModel_New(struct CalCoreModel* pCoreModel);  CAL3D_WRAPPER_API void CalModel_SetLodLevel(struct CalModel *self, float lodLevel);  CAL3D_WRAPPER_API void CalModel_SetMaterialSet(struct CalModel *self, int setId);  CAL3D_WRAPPER_API void CalModel_SetUserData(struct CalModel *self, CalUserData userData);  CAL3D_WRAPPER_API void CalModel_Update(struct CalModel *self, float deltaTime);//****************************************************************************//// CalPhysique wrapper functions declaration                                  ////****************************************************************************//  CAL3D_WRAPPER_API int CalPhysique_CalculateNormals(struct CalPhysique *self, struct CalSubmesh *pSubmesh, float *pNormalBuffer);  CAL3D_WRAPPER_API int CalPhysique_CalculateVertices(struct CalPhysique *self, struct CalSubmesh *pSubmesh, float *pVertexBuffer);  CAL3D_WRAPPER_API int CalPhysique_CalculateVerticesAndNormals(struct CalPhysique *self, struct CalSubmesh *pSubmesh, float *pVertexBuffer);  CAL3D_WRAPPER_API int CalPhysique_CalculateVerticesNormalsAndTexCoords(struct CalPhysique *self, struct CalSubmesh *pSubmesh, float *pVertexBuffer, int NumTexCoords);  CAL3D_WRAPPER_API int CalPhysique_CalculateTangentSpaces(struct CalPhysique *self, struct CalSubmesh *pSubmesh, int mapId, float *pTangentSpaceBuffer);  CAL3D_WRAPPER_API void CalPhysique_Delete(struct CalPhysique *self);  CAL3D_WRAPPER_API struct CalPhysique *CalPhysique_New(struct CalModel* pModel);  CAL3D_WRAPPER_API void CalPhysique_Update(struct CalPhysique *self);//****************************************************************************//// CalPlatform wrapper functions declaration                                  ////****************************************************************************////****************************************************************************//// CalQuaternion wrapper functions declaration                                ////****************************************************************************//  CAL3D_WRAPPER_API void CalQuaternion_Blend(struct CalQuaternion *self, float d, struct CalQuaternion *pQ);  CAL3D_WRAPPER_API void CalQuaternion_Clear(struct CalQuaternion *self);  CAL3D_WRAPPER_API void CalQuaternion_Conjugate(struct CalQuaternion *self);  CAL3D_WRAPPER_API void CalQuaternion_Delete(struct CalQuaternion *self);  CAL3D_WRAPPER_API void CalQuaternion_Equal(struct CalQuaternion *self, struct CalQuaternion *pQ);  CAL3D_WRAPPER_API float *CalQuaternion_Get(struct CalQuaternion *self);  CAL3D_WRAPPER_API void CalQuaternion_Multiply(struct CalQuaternion *self, struct CalQuaternion *pQ);  CAL3D_WRAPPER_API void CalQuaternion_MultiplyVector(struct CalQuaternion *self, struct CalVector *pV);  CAL3D_WRAPPER_API struct CalQuaternion *CalQuaternion_New();  CAL3D_WRAPPER_API void CalQuaternion_Op_Multiply(struct CalQuaternion *pResult, struct CalQuaternion *pQ, struct CalQuaternion *pR);  CAL3D_WRAPPER_API void CalQuaternion_Set(struct CalQuaternion *self, float qx, float qy, float qz, float qw);//****************************************************************************//// CalRenderer wrapper functions declaration                                  ////****************************************************************************//  CAL3D_WRAPPER_API enum Boolean CalRenderer_BeginRendering(struct CalRenderer *self);  CAL3D_WRAPPER_API void CalRenderer_Delete(struct CalRenderer *self);  CAL3D_WRAPPER_API void CalRenderer_EndRendering(struct CalRenderer *self);  CAL3D_WRAPPER_API void CalRenderer_GetAmbientColor(struct CalRenderer *self, unsigned char *pColorBuffer);  CAL3D_WRAPPER_API void CalRenderer_GetDiffuseColor(struct CalRenderer *self, unsigned char *pColorBuffer);  CAL3D_WRAPPER_API int CalRenderer_GetFaceCount(struct CalRenderer *self);  CAL3D_WRAPPER_API int CalRenderer_GetFaces(struct CalRenderer *self, CalIndex *pFaceBuffer);  CAL3D_WRAPPER_API int CalRenderer_GetMapCount(struct CalRenderer *self);  CAL3D_WRAPPER_API CalUserData CalRenderer_GetMapUserData(struct CalRenderer *self, int mapId);  CAL3D_WRAPPER_API int CalRenderer_GetMeshCount(struct CalRenderer *self);  CAL3D_WRAPPER_API int CalRenderer_GetNormals(struct CalRenderer *self, float *pNormalBuffer);  CAL3D_WRAPPER_API float CalRenderer_GetShininess(struct CalRenderer *self);  CAL3D_WRAPPER_API void CalRenderer_GetSpecularColor(struct CalRenderer *self, unsigned char *pColorBuffer);  CAL3D_WRAPPER_API int CalRenderer_GetSubmeshCount(struct CalRenderer *self, int meshId);  CAL3D_WRAPPER_API int CalRenderer_GetTextureCoordinates(struct CalRenderer *self, int mapId, float *pTextureCoordinateBuffer);  CAL3D_WRAPPER_API int CalRenderer_GetVertexCount(struct CalRenderer *self);  CAL3D_WRAPPER_API int CalRenderer_GetVertices(struct CalRenderer *self, float *pVertexBuffer);  CAL3D_WRAPPER_API int CalRenderer_GetVerticesAndNormals(struct CalRenderer *self, float *pVertexBuffer);  CAL3D_WRAPPER_API int CalRenderer_GetVerticesNormalsAndTexCoords(struct CalRenderer *self, float *pVertexBuffer, int NumTexCoords);  CAL3D_WRAPPER_API int CalRenderer_GetTangentSpaces(struct CalRenderer *self, int mapId, float *pTangentSpaceBuffer);  CAL3D_WRAPPER_API enum Boolean  CalRenderer_IsTangentsEnabled(struct CalRenderer *self, int mapId);  CAL3D_WRAPPER_API struct CalRenderer *CalRenderer_New(struct CalModel* pModel);  CAL3D_WRAPPER_API enum Boolean CalRenderer_SelectMeshSubmesh(struct CalRenderer *self, int meshId, int submeshId);//****************************************************************************//// CalSaver wrapper functions declaration                                     ////****************************************************************************//  CAL3D_WRAPPER_API void CalSaver_Delete(struct CalSaver *self);  CAL3D_WRAPPER_API struct CalSaver *CalSaver_New();  CAL3D_WRAPPER_API enum Boolean CalSaver_SaveCoreAnimation(struct CalSaver *self, char *strFilename, struct  CalCoreAnimation *pCoreAnimation);  CAL3D_WRAPPER_API enum Boolean CalSaver_SaveCoreMaterial(struct CalSaver *self, char *strFilename, struct CalCoreMaterial *pCoreMaterial);  CAL3D_WRAPPER_API enum Boolean CalSaver_SaveCoreMesh(struct CalSaver *self, char *strFilename, struct CalCoreMesh *pCoreMesh);  CAL3D_WRAPPER_API enum Boolean CalSaver_SaveCoreSkeleton(struct CalSaver *self, char *strFilename, struct CalCoreSkeleton *pCoreSkeleton);//****************************************************************************//// CalSkeleton wrapper functions declaration                                  ////****************************************************************************//  CAL3D_WRAPPER_API void CalSkeleton_CalculateState(struct CalSkeleton *self);  CAL3D_WRAPPER_API void CalSkeleton_ClearState(struct CalSkeleton *self);  CAL3D_WRAPPER_API void CalSkeleton_Delete(struct CalSkeleton *self);  CAL3D_WRAPPER_API struct CalBone *CalSkeleton_GetBone(struct CalSkeleton *self, int boneId);  CAL3D_WRAPPER_API struct CalCoreSkeleton *CalSkeleton_GetCoreSkeleton(struct CalSkeleton *self);//  CAL3D_WRAPPER_API std::vector<CalBone *>& CalSkeleton_GetVectorBone(struct CalSkeleton *self);  CAL3D_WRAPPER_API void CalSkeleton_LockState(struct CalSkeleton *self);  CAL3D_WRAPPER_API struct CalSkeleton *CalSkeleton_New(struct CalCoreSkeleton* pCoreSkeleton);  // DEBUG-CODE  CAL3D_WRAPPER_API int CalSkeleton_GetBonePoints(struct CalSkeleton *self, float *pPoints);  CAL3D_WRAPPER_API int CalSkeleton_GetBonePointsStatic(struct CalSkeleton *self, float *pPoints);  CAL3D_WRAPPER_API int CalSkeleton_GetBoneLines(struct CalSkeleton *self, float *pLines);  CAL3D_WRAPPER_API int CalSkeleton_GetBoneLinesStatic(struct CalSkeleton *self, float *pLines);//****************************************************************************//// CalSpringSystem wrapper functions declaration                              ////****************************************************************************//  CAL3D_WRAPPER_API void CalSpringSystem_CalculateForces(struct CalSpringSystem *self, struct CalSubmesh *pSubmesh, float deltaTime);  CAL3D_WRAPPER_API void CalSpringSystem_CalculateVertices(struct CalSpringSystem *self, struct CalSubmesh *pSubmesh, float deltaTime);  CAL3D_WRAPPER_API void CalSpringSystem_Delete(struct CalSpringSystem *self);  CAL3D_WRAPPER_API struct CalSpringSystem *CalSpringSystem_New(struct CalModel *pModel);  CAL3D_WRAPPER_API void CalSpringSystem_Update(struct CalSpringSystem *self, float deltaTime);//****************************************************************************//// CalSubmesh wrapper functions declaration                                   ////****************************************************************************//  CAL3D_WRAPPER_API void CalSubmesh_Delete(struct CalSubmesh *self);  CAL3D_WRAPPER_API struct CalCoreSubmesh *CalSubmesh_GetCoreSubmesh(struct CalSubmesh *self);  CAL3D_WRAPPER_API int CalSubmesh_GetCoreMaterialId(struct CalSubmesh *self);  CAL3D_WRAPPER_API int CalSubmesh_GetFaceCount(struct CalSubmesh *self);  CAL3D_WRAPPER_API int CalSubmesh_GetFaces(struct CalSubmesh *self, CalIndex *pFaceBuffer);//  CAL3D_WRAPPER_API std::vector<CalVector>& CalSubmesh_GetVectorNormal(struct CalSubmesh *self);//  CAL3D_WRAPPER_API std::vector<CalSubmesh::PhysicalProperty>& CalSubmesh_GetVectorPhysicalProperty(struct CalSubmesh *self);//  CAL3D_WRAPPER_API std::vector<CalVector>& CalSubmesh_GetVectorVertex(struct CalSubmesh *self);  CAL3D_WRAPPER_API int CalSubmesh_GetVertexCount(struct CalSubmesh *self);  CAL3D_WRAPPER_API enum Boolean CalSubmesh_HasInternalData(struct CalSubmesh *self);  CAL3D_WRAPPER_API struct CalSubmesh *CalSubmesh_New(struct CalCoreSubmesh* coreSubmesh);  CAL3D_WRAPPER_API void CalSubmesh_SetCoreMaterialId(struct CalSubmesh *self, int coreMaterialId);  CAL3D_WRAPPER_API void CalSubmesh_SetLodLevel(struct CalSubmesh *self, float lodLevel);//****************************************************************************//// CalVector wrapper functions declaration                                    ////****************************************************************************//  CAL3D_WRAPPER_API void CalVector_Add(struct CalVector *self, struct CalVector *pV);  CAL3D_WRAPPER_API void CalVector_Blend(struct CalVector *self, float d, struct CalVector *pV);  CAL3D_WRAPPER_API void CalVector_Clear(struct CalVector *self);  CAL3D_WRAPPER_API void CalVector_Delete(struct CalVector *self);  CAL3D_WRAPPER_API void CalVector_Equal(struct CalVector *self, struct CalVector *pV);  CAL3D_WRAPPER_API void CalVector_InverseScale(struct CalVector *self, float d);  CAL3D_WRAPPER_API float *CalVector_Get(struct CalVector *self);  CAL3D_WRAPPER_API float CalVector_Length(struct CalVector *self);  CAL3D_WRAPPER_API struct CalVector *CalVector_New();  CAL3D_WRAPPER_API float CalVector_Normalize(struct CalVector *self);  CAL3D_WRAPPER_API void CalVector_Op_Add(struct CalVector *pResult, struct CalVector *pV, struct CalVector *pU);  CAL3D_WRAPPER_API void CalVector_Op_Subtract(struct CalVector *pResult, struct CalVector *pV, struct CalVector *pU);  CAL3D_WRAPPER_API void CalVector_CalVector_Op_Scale(struct CalVector *pResult, struct CalVector *pV, float d);  CAL3D_WRAPPER_API void CalVector_CalVector_Op_InverseScale(struct CalVector *pResult, struct CalVector *pV, float d);  CAL3D_WRAPPER_API float CalVector_Op_Scalar(struct CalVector *pV, struct CalVector *pU);  CAL3D_WRAPPER_API void CalVector_Op_Cross(struct CalVector *pResult, struct CalVector *pV, struct CalVector *pU);  CAL3D_WRAPPER_API void CalVector_Scale(struct CalVector *self, float d);  CAL3D_WRAPPER_API void CalVector_Set(struct CalVector *self, float vx, float vy, float vz);  CAL3D_WRAPPER_API void CalVector_Subtract(struct CalVector *self, struct CalVector *pV);  CAL3D_WRAPPER_API void CalVector_Transform(struct CalVector *self, struct CalQuaternion *pQ);#ifdef __cplusplus}#endif#endif//****************************************************************************//

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -