📄 igeometry.h
字号:
virtual DWORD __stdcall GetVertexListWithScreenCoord(HFIELD_POS* pVertexList,DWORD dwMaxVertexNum,RECT* pRect,DWORD dwViewportIndex) = 0;
virtual BOOL __stdcall GetVertexPosWithScreenCoord(DWORD* pdwPosX, DWORD* pdwPosZ, VECTOR3 OUT *pWhere, POINT* ptCursor, float fVertexRadius,DWORD dwViewportIndex) = 0;
virtual DWORD __stdcall GetObjectPosWithScreenCoord(VECTOR3* pv3IntersectPoint,POINT* ptCursor,DWORD dwViewportIndex) = 0;
virtual BOOL __stdcall GetTilePosWithScreenCoord(VECTOR3* pv3IntersectPoint,float* pfDist,DWORD* pdwPosX,DWORD* pdwPosZ,POINT* ptCursor,DWORD dwViewportIndex) = 0;
virtual BOOL __stdcall GetTileRectWithScreenCoord(VECTOR3* pv3IntersectPoint,float* pfDist,RECT* pRect,POINT* ptCursor,DWORD dwBrushSize,DWORD dwViewportIndex) = 0;
virtual BOOL __stdcall GetIntersectPointWithScreenCoord(VECTOR3* pv3IntersectPoint,float*pfDist,POINT* ptCursor,DWORD dwViewportIndex) = 0;
virtual BOOL __stdcall GetIntersectPointWithRay(VECTOR3* pv3IntersectPoint,float* pfDist,DWORD* pdwPosX,DWORD* pdwPosZ,VECTOR3* pv3Orig,VECTOR3* pv3Dir) = 0;
virtual BOOL __stdcall GetY(float* pfHeight,float x,float z) = 0;
virtual void __stdcall CalcXZ(float* px,float* pz,DWORD dwPosX,DWORD dwPosZ) = 0;
virtual void __stdcall CalcY(float* py,DWORD dwPosX,DWORD dwPosZ) = 0;
virtual BOOL __stdcall ResetCollisionMesh() = 0;
virtual void __stdcall ResetHeight(float h) = 0;
virtual void __stdcall MakeHeightFieldHigh(DWORD dwX, DWORD dwZ, float fHeight, float fRadius,DWORD dwActionType) = 0;
virtual BOOL __stdcall AdjustHeight(HFIELD_POS* pVertexList,DWORD dwVertexNum,float fValue,DWORD dwActionType) = 0;
virtual BOOL __stdcall InterpolateField(DWORD dwX, DWORD dwZ, float fBias, float fRadius) = 0;
virtual BOOL __stdcall SetTile(DWORD dwPosX,DWORD dwPosZ,WORD wTileIndex) = 0;
virtual BOOL __stdcall GetTile(WORD* pwTileIndex,DWORD dwPosX,DWORD dwPosZ) = 0;
virtual BOOL __stdcall SetTileRect(RECT* pRect,WORD wTileIndex) = 0;
virtual BOOL __stdcall SetTileList(HFIELD_POS* phfStart,HFIELD_POS* pTileList,WORD* pTexTileIndexList,DWORD dwTileNum,WORD wTileIndex) = 0;
virtual void __stdcall SetVertexColor(DWORD dwColor) = 0;
virtual BOOL __stdcall RenderVertex(HFIELD_POS* pVertexList,DWORD dwVertexNum,DWORD dwColor) = 0;
virtual BOOL __stdcall RenderTile(HFIELD_POS* phfStart,HFIELD_POS* pTileList,DWORD dwTileNum,WORD* pwTileIndexList,DWORD dwColor) = 0;
virtual void __stdcall SetHeightFieldDetail(DWORD dwDetailLevel) = 0;
virtual void __stdcall EnableRender(DWORD dwObjIndex) = 0;
virtual void __stdcall DisableRender(DWORD dwObjIndex) = 0;
virtual void __stdcall FreezeDetailLevel(DWORD dwObjIndex,DWORD dwDetailLevel) = 0;
virtual void __stdcall UnFreezeDetailLevel(DWORD dwObjIndex) = 0;
virtual BOOL __stdcall SetLightVertexel(POINT* ptCursor,VECTOR3* pv3IntersectPoint,float fRs,DWORD dwColor,DWORD dwViewportIndex) = 0;
virtual BOOL __stdcall GetLightVertexel(DWORD* pdwColor,POINT* ptCursor,VECTOR3* pv3IntersectPoint,DWORD dwViewportIndex) = 0;
virtual void __stdcall Optimize() = 0;
virtual DWORD __stdcall GetXZFrom3DCoord(HFIELD_POS* phfPos,DWORD dwMaxHFPosNum,VECTOR3* pv3IntersectPoint,float fRs) = 0;
virtual BOOL __stdcall SetAlphaTexel(POINT* ptCursor,VECTOR3* pv3IntersectPoint,float fRs,DWORD dwTileIndex,DWORD dwActionFlag,DWORD dwViewportIndex) = 0;
virtual DWORD __stdcall GetExtTileIndexTop(POINT* ptCursor,VECTOR3* pv3IntersectPoint,DWORD dwViewportIndex) = 0;
virtual void __stdcall EnableBlend(BOOL bEnable) = 0;
virtual void __stdcall UpdateAllTiles() = 0;
virtual void __stdcall ClearAlphaMapAll() = 0;
virtual void __stdcall ClearAlphaMapWithObjectIndex(DWORD dwObjIndex) = 0;
virtual void __stdcall ClearAlphaMapWithTileIndex(DWORD dwObjIndex,DWORD dwTileIndex) = 0;
virtual void __stdcall GetAlphaMapResourceStatus(DWORD* pdwMapNum,DWORD* pdwMemSize) = 0;
virtual DWORD __stdcall QueryNeedTriNumWithAABB(DWORD* pdwStartX,DWORD* pdwStartZ,DWORD* pdwWidthNum,DWORD* pdwHeightNum,MAABB* pAABB) = 0;
virtual DWORD __stdcall GetTriListWithAABB(VECTOR3* pv3TriListOut, DWORD dwMaxTriCount, MAABB* pAABB) = 0;
};
interface ISkyMesh : public IUnknown
{
virtual BOOL __stdcall Render(DWORD dwFlag) = 0;
virtual void __stdcall SetViewportIndex(DWORD dwViewportIndex) = 0;
virtual void __stdcall SetOffset(VECTOR3* pv3Offset) = 0;
virtual BOOL __stdcall CreateMotionList(DWORD dwNum) = 0;
virtual DWORD __stdcall AddMotion(char* szFileName,DWORD dwMotionIndex) = 0;
virtual DWORD __stdcall GetMotionNum() = 0;
virtual BOOL __stdcall GetMotionDesc(MOTION_DESC* pMotionDesc,DWORD dwMotionIndex) = 0;
virtual DWORD __stdcall GetCurrentMotionIndex() = 0;
virtual void __stdcall SetCurrentMotionIndex(DWORD dwMotionIndex) = 0;
virtual DWORD __stdcall GetCurrentFrame() = 0;
virtual void __stdcall SetCurrentFrame(DWORD dwFrame) = 0;
virtual DWORD __stdcall GetAlpha() = 0;
virtual void __stdcall SetAlpha(DWORD dwAlpha) = 0;
virtual void __stdcall IncreaseFrame(DWORD dwIncFrame) = 0;
};
interface I4DyuchiGXGeometry : public IUnknown
{
virtual BOOL __stdcall Initialize(I4DyuchiGXRenderer* pRenderer,I4DyuchiFileStorage* pFileStorage,DWORD dwViewportNum,DWORD dwMaxFileNum,DWORD dwMaxBucketNum,ErrorHandleProc pErrorHandleFunc) = 0;
virtual ULONG __stdcall LoadModel(I3DModel** ppModel,char* szFileName,DWORD dwFlag) = 0;
virtual BOOL __stdcall IsLoadedModel(I3DModel** ppModel,char* szFileName) = 0;
virtual ULONG __stdcall CreateHeightField(IHeightField** ppHeightField,DWORD dwFlag) = 0;
virtual ULONG __stdcall CreateStaticModel(I3DStaticModel** ppStaticModel,DWORD dwMaxObjectNum,DWORD dwMaxMtlNum,DWORD dwFlag) = 0;
virtual ULONG __stdcall CreateSkyMesh(ISkyMesh** ppSkyMesh,char* szFileName,DWORD dwFlag) = 0;
virtual BOOL __stdcall BeginRender(DWORD dwViewportIndex,DWORD dwColor,DWORD dwFlag) = 0;
virtual void __stdcall EndRender() = 0;
virtual void __stdcall Present(HWND hWnd) = 0;
virtual BOOL __stdcall RenderModel(I3DModel* pModel,DWORD dwRefIndex,MATRIX4* pParentMat,MATRIX4* pTransformMat,DWORD dwFrame,DWORD dwMotionIndex,DWORD dwAlpha,DWORD dwMtlSetIndex,DWORD dwEffectIndex,DWORD dwFlag) = 0;
virtual BOOL __stdcall RenderStaticModel(I3DStaticModel* pModel,DWORD dwObjIndex,DWORD dwAlpha,DWORD dwMtlSetIndex,DWORD dwFlag) = 0;
virtual BOOL __stdcall RenderHField(IHeightField* pHField,DWORD dwObjIndex,DWORD dwAlpha,DWORD dwFlag) = 0;
virtual BOOL __stdcall RenderSprite(IDISpriteObject* pSprite,VECTOR2* pv2Scaling,float fRot,VECTOR2* pv2Trans,RECT* pRect,DWORD dwColor,int iZOrder,DWORD dwFlag) = 0;
virtual BOOL __stdcall RenderFont(IDIFontObject* pFont,TCHAR* str,DWORD dwLen,RECT* pRect,DWORD dwColor,CHAR_CODE_TYPE type,int iZOrder,DWORD dwFlag) = 0;
virtual BOOL __stdcall RenderLight(LIGHT_DESC* pLightDesc,DWORD dwAlphaFlag,DWORD dwRenderFlag) = 0;
virtual void __stdcall RenderSphere(VECTOR3* pv3Point,float fRs,DWORD dwColor) = 0;
virtual void __stdcall RenderBox(VECTOR3* pv3Oct,DWORD dwColor) = 0;
virtual BOOL __stdcall RenderSkyMesh(ISkyMesh* pSkyMesh,DWORD dwFlag) = 0;
virtual DWORD __stdcall CreateDynamicLight(DWORD dwRS,DWORD dwColor,char* szFileName) = 0;
virtual BOOL __stdcall DeleteDynamicLight(DWORD dwIndex) = 0;
virtual BOOL __stdcall AddLight(LIGHT_DESC* pLight,DWORD dwFlag) = 0;
virtual void __stdcall SetShadowFlag(DWORD dwFlag) = 0;
virtual DWORD __stdcall GetShadowFlag() = 0;
virtual void __stdcall SetLightFlag(DWORD dwFlag) = 0;
virtual DWORD __stdcall GetLightFlag() = 0;
virtual void __stdcall GetProjectionMatrix(MATRIX4* pMatrix,DWORD dwViewportIndex) = 0;
virtual void __stdcall GetViewMatrix(MATRIX4* pMatrix,DWORD dwViewportIndex) = 0;
virtual void __stdcall GetViewVolume(VIEW_VOLUME* pVolume,DWORD dwViewportIndex) = 0;
virtual BOOL __stdcall GetRayWithScreenCoord(VECTOR3* pv3Pos,VECTOR3* pv3Dir,POINT* pt,DWORD dwViewportIndex) = 0;
virtual void __stdcall GetViewport(SHORT_RECT* pClipRect,WORD* pwWidth,WORD* pwHeight,DWORD dwViewportIndex) = 0;
virtual void __stdcall SetViewport(SHORT_RECT* pRect,DWORD dwViewportIndex) = 0;
virtual BOOL __stdcall ResetCamera(VECTOR3* pv3Eye,float fNear,float fFar,float fFovX,DWORD dwViewportIndex) = 0;
virtual BOOL __stdcall MoveCamera(VECTOR3* pv3Trans,DWORD dwViewportIndex) = 0;
virtual BOOL __stdcall SetCameraPos(VECTOR3* pv3Eye,DWORD dwViewportIndex) = 0;
virtual BOOL __stdcall SetCameraViewDistance(float fNear,float fFar,DWORD dwViewportIndex) = 0;
virtual BOOL __stdcall SetCameraFitModel(I3DModel* pModel,DWORD dwRefIndex,float fNear,float fFar,float fFovX,DWORD dwViewportIndex) = 0;
virtual BOOL __stdcall SetCameraFitCollisionMesh(COLLISION_MESH_OBJECT_DESC* pColMeshDesc,float fNear,float fFar,float fFovX,DWORD dwViewportIndex) = 0;
virtual void __stdcall SetFog(FOG_DESC* pFogDesc,DWORD dwViewportIndex) = 0;
virtual void __stdcall EnableFog(DWORD dwViewportIndex) = 0;
virtual void __stdcall DisableFog(DWORD dwViewportIndex) = 0;
virtual void __stdcall SetDirectionalLight(DIRECTIONAL_LIGHT_DESC* pLight,DWORD dwViewportIndex) = 0;
virtual void __stdcall GetDirectionalLight(DIRECTIONAL_LIGHT_DESC* pLight,DWORD dwViewportIndex) = 0;
virtual void __stdcall EnableDirectionalLight(DWORD dwViewportIndex) = 0;
virtual void __stdcall DisableDirectionalLight(DWORD dwViewportIndex) = 0;
virtual void __stdcall GetCameraDesc(CAMERA_DESC* pCamera,DWORD dwViewportIndex) = 0;
virtual void __stdcall SetCameraDesc(CAMERA_DESC* pCamera,DWORD dwViewportIndex) = 0;
virtual void __stdcall SetCameraAngleRad( VECTOR3* pv3Rotate,DWORD dwViewportIndex) = 0; /// 眠啊. 2002/02/05
virtual void __stdcall RotateCameraRad( VECTOR3* pv3Rotate,DWORD dwViewportIndex) = 0;
virtual void __stdcall GetCameraAngleRad(VECTOR3* pv3Angle,DWORD dwViewportIndex) = 0;
virtual BOOL __stdcall GetIntersectPointWithScreenCoord(VECTOR3* pv3Pos,PLANE* pPlane,POINT* ptCursor,DWORD dwViewportIndex) = 0;
virtual void __stdcall SetAmbientColor(DWORD dwViewportIndex,DWORD dwColor) = 0;
virtual DWORD __stdcall GetAmbientColor(DWORD dwViewportIndex) = 0;
virtual void __stdcall SetEmissiveColor(DWORD dwViewportIndex,DWORD dwColor) = 0;
virtual DWORD __stdcall GetEmissiveColor(DWORD dwViewportIndex) = 0;
virtual void __stdcall SetDrawDebugFlag(DWORD dwFlag) = 0;
virtual DWORD __stdcall GetDrawDebugFlag() = 0;
virtual void __stdcall EnableViewVolumeClip() = 0;
virtual void __stdcall DisableViewVolumeClip() = 0;
virtual void __stdcall GetSystemStatus(SYSTEM_STATUS* pStatus) = 0;
virtual void __stdcall UpdateWindowSize() = 0;
virtual BOOL __stdcall PreLoadModel(char* szFileName) = 0;
virtual BOOL __stdcall PreLoadMotion(char* szFileName) = 0;
virtual BOOL __stdcall PreLoadMaterial(char* szFileName) = 0;
virtual void __stdcall UnloadAllPreLoadedItem(DWORD dwFlag) = 0;
virtual BOOL __stdcall DisableUnloadPreLoadedResource(char* szFileName) = 0;
virtual BOOL __stdcall EnableUnloadPreLoadedResource(char* szFileName) = 0;
virtual DWORD __stdcall GetReadCountInMOD(char* szFileName) = 0;
virtual DWORD __stdcall GetReadCountInSTM(char* szFileName) = 0;
virtual DWORD __stdcall GetReadCountInHField(char* szFileName) = 0;
virtual void __stdcall CalcViewVolume(VIEW_VOLUME* pVV,RECT* pRect,DWORD dwViewportIndex) = 0;
virtual void __stdcall GetCameraEyePlane(PLANE* pPlane,DWORD dwViewportIndex) = 0;
virtual void __stdcall GetBillBoardMatrix(MATRIX4* pMat,DWORD dwViewportIndex) = 0;
virtual void __stdcall GetCameraAttachedMatrix(MATRIX4* pMat,DWORD dwViewportIndex,float fDist) = 0;
virtual void __stdcall SetTickCount(DWORD dwTick,BOOL bGameFrame) = 0;
virtual void __stdcall SetRadiusForLoadResource(float fRS) = 0;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -