diff options
| author | Ray <[email protected]> | 2022-12-02 20:38:03 +0100 |
|---|---|---|
| committer | Ray <[email protected]> | 2022-12-02 20:38:03 +0100 |
| commit | e17c7569787e2cd03f07c43f39662e1a109504c9 (patch) | |
| tree | 1e6c73a40136b68ac6c14b68f77b587424843f3b /cheatsheet/zh/raylib_models.c | |
| parent | 83726dfe5559f7d73136132cdd980a6c8ba13045 (diff) | |
| download | raylib.com-e17c7569787e2cd03f07c43f39662e1a109504c9.tar.gz raylib.com-e17c7569787e2cd03f07c43f39662e1a109504c9.zip | |
ADDED: Cheatsheet Chinese translation
Diffstat (limited to 'cheatsheet/zh/raylib_models.c')
| -rw-r--r-- | cheatsheet/zh/raylib_models.c | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/cheatsheet/zh/raylib_models.c b/cheatsheet/zh/raylib_models.c new file mode 100644 index 0000000..c4eed24 --- /dev/null +++ b/cheatsheet/zh/raylib_models.c @@ -0,0 +1,93 @@ + + //模块:rmodels + //基本几何3D形状绘图功能 + void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color); //在三维世界空间中绘制直线 + void DrawPoint3D(Vector3位置, Color color); //在三维空间中绘制一个点, 实际上是一条细线 + void DrawCircle3D(Vector3中心, float半径, Vector3旋转轴, float旋转角度, Color color); //在三维世界空间中绘制圆 + void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color); //绘制一个彩色填充三角形(顶点按逆时针顺序!) + void DrawTriangleStrip3D(Vector3 *点, int点计数, Color color); //绘制由点定义的三角形条带 + void DrawCube(Vector3位置, float宽度, float高度, float长度, Color color); //绘制立方体 + void DrawCubeV(Vector3位置, Vector3大小, Color color); //绘制立方体(矢量版本) + void DrawCubeWires(Vector3位置, float宽度, float高度, float长度, Color color); //绘制立方体线 + void DrawCubeWiresV(Vector3位置, Vector3大小, Color color); //绘制立方体线(矢量版本) + void DrawCubeTexture(Texture2D texture, Vector3位置, float宽度, float高度, float长度, Color color); //绘制立方体Texture + void DrawCubeTextureRec(Texture2D texture, Rectangle源, Vector3位置, float宽度, float高度, float长度, Color color); //使用Texture区域绘制立方体 + void DrawSphere(Vector3 centerPos, float半径, Color color); //绘制球体 + void DrawSphereEx(Vector3 centerPos, float半径, int rings,int slices, Color color); //使用扩展参数绘制球体 + void DrawSphereWires(Vector3 centerPos, float半径, int rings,int slices, Color color); //绘制球体导线 + void DrawCylinder(Vector3位置, float半径顶部, float半径底部, float高度, int slices, Color color); //绘制圆柱体/圆锥体 + void DrawCylinderEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color Color); //绘制底部位于startPos, 顶部位于endPos的圆柱体 + void DrawCylinderWires(Vector3位置, float半径顶部, float半径底部, float高度, int slices, Color color); //绘制圆柱体/圆锥体导线 + void DrawCylinderWiresEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color Color); //绘制圆柱体导线, 底部位于startPos, 顶部位于endPos + void DrawPlane(Vector3 centerPos, Vector2大小, Color color); //绘制平面XZ + void DrawRay(Ray ray, Color color); //绘制光线线 + void DrawGrid(int slices, float间距); //绘制Mesh(以(0, 0, 0)为中心) + + //------------------------------------------------------------------------------------ + //Model 3d加载和绘图功能(模块:Model) + //------------------------------------------------------------------------------------ + + //Model管理功能 + Model LoadModel(const char *fileName); //从文件加载Model(Mesh和材质) + Model LoadModelFromMesh(Mesh mesh); //从生成的Mesh LoadModel(默认材质) + void UnloadModel(Model model); //从内存(RAM和/或VRAM)卸载Model(包括Mesh) + void UnloadModelKeepMeshes(Model model); //从内存(RAM和/或VRAM)卸载Model(但不卸载Mesh) + BoundingBox GetModelBoundingBox(Model model); //计算Model边界框限制(考虑所有Mesh) + + //Model绘图功能 + void DrawModel(Model Model, Vector3位置, float比例, Color color); //绘制Model(如果设置了Texture) + void DrawModelEx(Model Model, Vector3位置, Vector3旋转轴, float旋转角度, Vector3比例, Color color); //使用扩展参数绘制Model + void DrawModelWires(Model Model, Vector3位置, float比例, Color color); //绘制Model导线(如果设置了Texture) + void DrawModelWiresEx(Model Model, Vector3位置, Vector3旋转轴, float旋转角度, Vector3比例, Color color); //使用扩展参数绘制Model导线(如果设置了Texture) + void DrawBoundingBox(BoundingBox框, Color color); //绘制边界框(导线) + void DrawBillboard(摄影机, Texture2D texture, Vector3位置, float大小, Color color); //绘制广告牌Texture + void DrawBillboardRec(摄影机, Texture2D texture, Rectangle源, Vector3位置, Vector2大小, Color color); //绘制源定义的公告牌Texture + void DrawBillboardPro(摄影机, Texture2D texture, Rectangle源, Vector3位置, Vector3向上, Vector2大小, Vector2原点, float旋转, Color color); //绘制由源和旋转定义的公告牌Texture + + //Mesh管理功能 + void UploadMesh(Mesh *mesh, bool dynamic); //在GPU中上载Mesh顶点数据并提供VAO/VBO ID + void UpdateMeshBuffer(Mesh mesh, int索引, const void *data, int dataSize, int偏移量); //为特定缓冲区索引更新GPU中的Mesh顶点数据 + void UnloadMesh(Mesh mesh); //从CPU和GPU卸载Mesh数据 + void DrawMesh(Mesh mesh, Material material, Matrix transform); //使用材质和变换绘制三维网格 + void DrawMeshInstanced(Mesh mesh, Material material, const Matrix *transforms, int instances); //使用材质和不同变换绘制多个Mesh实例 + bool ExportMesh(Mesh mesh, const char *fileName); //将Mesh数据导出到文件, 成功时返回true + BoundingBox GetMeshBoundingBox(Mesh mesh); //计算Mesh边界框限制 + void GenMeshTangents(Mesh *mesh); //计算Mesh切线 + + //Mesh生成函数 + Mesh GenMeshPoly(int sides, float radius); //生成多边形网格 + Mesh GenMeshPlane(float宽度, float长度, int resX, int resZ); //生成平面Mesh(带细分) + Mesh GenMeshCube(float宽度, float高度, float长度); //生成长方体网格 + Mesh GenMeshSphere(float半径, int rings,int slices); //生成球体Mesh(标准球体) + Mesh GenMeshHemiSphere(float半径, int rings,int slices); //生成半球形Mesh(无底帽) + Mesh GenMeshCylinder(float半径, float高度, int slices); //生成圆柱体网格 + Mesh GenMeshCone(float半径, float高度, int slices); //生成圆锥体/棱锥体网格 + Mesh GenMeshTorus(float半径, float大小, int radSeg, int边); //生成圆环体网格 + Mesh GenMeshKnot(float半径, float大小, int radSeg, int边); //生成三叶结网格 + Mesh GenMeshHeightmap(Image高度贴图, Vector3大小); //从图像数据生成高度图网格 + Mesh GenMeshCubicmap(Image立方体贴图, Vector3立方体大小); //从图像数据生成基于立方体的地图网格 + + //材料装载/卸载功能 + Material *加载Materials(const char *fileName, int *materialCount); //从Model文件加载材质 + Material LoadMaterialDefault(void); //加载默认材质(支持:DIFFUSE, SPECULAR, NORMAL贴图) + void UnloadMaterial(Material material); //从GPU内存(VRAM)卸载材料 + void SetMaterialTexture(Material *material, int mapType, Texture2D texture); //为材质贴图类型(material_map_DIFFUSE, material.map_SPECULAR…)设置Texture + void SetModelMeshMaterial(Model *Model, int meshId, int materialId); //设置Mesh的材质 + + //Model动画加载/卸载功能 + ModelAnimation *LoadModelAnimations(const char *fileName, unsigned int *animCount); //从文件加载Model动画 + void UpdateModelAnimation(Model Model, ModelAnimation动画, int帧); //更新Model动画姿势 + void UnloadModelAnimation(ModelAnimation动画); //卸载动画数据 + void UnloadModelAnimations(ModelAnimation *动画, unsigned int计数); //卸载动画阵列数据 + bool IsModelAnimationValid(Model Model, Model动画动画); //检查Model动画骨架匹配 + + //碰撞检测功能 + bool CheckCollisionSpheres(Vector3中心1, float半径1, Vector3中心2, float半径2); //检查两个球体之间的碰撞 + bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); //检查两个边界框之间的碰撞 + bool CheckCollisionBoxSphere(BoundingBox框, Vector3中心, float半径); //检查长方体和球体之间的碰撞 + RayCollision GetRayCollisionSphere(Ray ray, Vector3中心, float半径); //获取光线和球体之间的碰撞信息 + RayCollision GetRayCollisionBox(Ray ray, BoundingBox框); //获取光线和长方体之间的碰撞信息 + RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform); //获取光线和Mesh之间的碰撞信息 + RayCollision GetRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3); //获取光线和三角形之间的碰撞信息 + RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4); //获取光线和四边形之间的碰撞信息 + |
