Hi Everyone, I would like to present my newest plugin: jGfx. It combines the commandsets of my previous ID3DXEffect and MRT plugins, plus adds commandsets for dynamic cubemap textures, geometry instancing and postfilter cameras. There are no help files yet, but the download comes with a keywords file and a few example projects.

*) Provides hardware accelerated rendering of mesh instances by interleaving vertexdata with an array of instance data

*) Supports user-defined element definition for storing custom data on a per-instance basis

*) Added commands for getting/setting shader vector arrays using arrays of vector pointers

*) Added commands for sorting the GeoInst render queue based on user-designated priority values

CubeTex_SyncFacesMRT pCubeTex, pCubeTexB, pCubeTexC, pCubeTexD, CamID, dwFaceMask

Poke Vec2==pMem, X#, Y#
Poke Vec3==pMem, X#, Y#, Z#
Poke Vec4==pMem, X#, Y#, Z#, W#
Poke Mat4==pMem, _11#, _12#, _13#, _14#, _21#, _22#, _23#, _24#, _31#, _32#, _33#, _34#, _41#, _42#, _43#, _44#
SMesh_GetShaderPtr==(pMesh)
Object_GetShaderPtr==(ObjectID, LimbID)
Shader_GetParameterByName==(pEffect, hParam, NameStr)
Shader_GetParameterBySemantic==(pEffect, hParam, SemanticNameStr)
Shader_GetParameterElement==(pEffect, hParam, ElementIndex)
Shader_GetValue==pEffect, hParam, pData, pBytes
Shader_SetValue==pEffect, hParam, pData, pBytes
Shader_GetBool==pEffect, hParam, ptr_Bool
Shader_SetBool==pEffect, hParam, ptr_Bool
Shader_GetBoolVal==(pEffect, hParam)
Shader_SetBoolVal==pEffect, hParam, BoolVal
Shader_GetInt==pEffect, hParam, ptr_Int
Shader_SetInt==pEffect, hParam, ptr_Int
Shader_GetIntVal==(pEffect, hParam)
Shader_SetIntVal==pEffect, hParam, IntVal
Shader_GetFloat==pEffect, hParam, ptr_Float
Shader_SetFloat==pEffect, hParam, ptr_Float
Shader_GetFloatVal==(pEffect, hParam)
Shader_SetFloatVal==pEffect, hParam, FloatVal#
Shader_GetVector==pEffect, hParam, ptr_Vector
Shader_SetVector==pEffect, hParam, ptr_Vector
Shader_GetVectorVal==pEffect, hParam
Shader_SetVectorVal==pEffect, hParam, X#, Y#, Z#, W#
Shader_GetMatrix==pEffect, hParam, ptr_Matrix
Shader_SetMatrix==pEffect, hParam, ptr_Matrix
Shader_GetMatrixVal==pEffect, hParam
Shader_SetMatrixVal==(pEffect, hParam, _11#, _12#, _13#, _14#, _21#, _22#, _23#, _24#, _31#, _32#, _33#, _34#, _41#, _42#, _43#, _44#)
Shader_GetMatrixTranspose==pEffect, hParam, ptr_Matrix
Shader_SetMatrixTranspose==pEffect, hParam, ptr_Matrix
Shader_GetMatrixTransposeVal==pEffect, hParam
Shader_SetMatrixTransposeVal==(pEffect, hParam, _11#, _12#, _13#, _14#, _21#, _22#, _23#, _24#, _31#, _32#, _33#, _34#, _41#, _42#, _43#, _44#)
Shader_SetArrayRange==pEffect, hParam, Start, Stop
Shader_GetBoolArray==pEffect, hParam, ptr_BoolArr, Count
Shader_SetBoolArray==pEffect, hParam, ptr_BoolArr, Count
Shader_GetIntArray==pEffect, hParam, ptr_IntArr, Count
Shader_SetIntArray==pEffect, hParam, ptr_IntArr, Count
Shader_GetFloatArray==pEffect, hParam, ptr_FloatArr, Count
Shader_SetFloatArray==pEffect, hParam, ptr_FloatArr, Count
Shader_GetVectorArray==pEffect, hParam, ptr_VecArr, Count
Shader_SetVectorArray==pEffect, hParam, ptr_VecArr, Count
Shader_GetMatrixArray==pEffect, hParam, ptr_MatArr, Count
Shader_SetMatrixArray==pEffect, hParam, ptr_MatArr, Count
Shader_GetMatrixTransposeArray==pEffect, hParam, ptr_MatArr, Count
Shader_SetMatrixTransposeArray==pEffect, hParam, ptr_MatArr, Count
Shader_GetMatrixPointerArray==pEffect, hParam, ptr_pMatArr, Count
Shader_SetMatrixPointerArray==pEffect, hParam, ptr_pMatArr, Count
Shader_GetMatrixTransposePointerArray==pEffect, hParam, ptr_pMatArr, Count
Shader_SetMatrixTransposePointerArray==pEffect, hParam, ptr_pMatArr, Count
Shader_Return==(Index)
Shader_GetTechniqueByName==(pEffect, NameStr)
Shader_GetCurrentTechnique==(pEffect)
Shader_SetTechnique==pEffect, hTech
Shader_SetTechniqueName==pEffect, NameStr$
Shader_SetVectorPointerArray==pEffect, hParam, ptr_pVecArr, VecStride, Count
Shader_GetVectorPointerArray==pEffect, hParam, ptr_pVecArr, VecStride, Count
MRT_MaxSimultaneousRTs==()
MRT_IndependentBitDepths==()
MRT_PostPixelShaderBlending==()
MRT_PostPixelFormatSupport==(D3DFMT)
MRT_Sync==CameraID, TargetImgB, TargetImgC, TargetImgD
MRT_MakeRenderTarget==ImageID, Width, Height [, D3DFMT]
CubeTex_MakeNew==(Resolution, bMipMap)||(Resolution, bMipMap, D3DFMT)
CubeTex_Delete==pCubeTex
CubeTex_SetMipFilter==pCubeTex, D3DTEXF
CubeTex_ApplyObject==pCubeTex, ObjectID, StageID
CubeTex_ApplyLimb==pCubeTex, ObjectID, LimbID, StageID
CubeTex_Save==pCubeTex, FileName$
CubeTex_DrawToFace==pCubeTex, FaceID
CubeTex_CheckFormatSupport==(D3DFMT)
CubeTex_Sync==pCubeTex, CameraID
CubeTex_SyncFaces==pCubeTex, CameraID, dwMaskBits
CubeTex_SetPosition==pCubeTex, X#, Y#, Z#
CubeTex_SetRange==pCubeTex, Near#, Far#
CubeTex_GetPositionX==(pCubeTex)
CubeTex_GetPositionY==(pCubeTex)
CubeTex_GetPositionZ==(pCubeTex)
CubeTex_GetNear==(pCubeTex)
CubeTex_GetFar==(pCubeTex)
CubeTex_GetDrawCalls==()
CubeTex_GetDrawPrimitives==()
CubeTex_GetResolution==(pCubeTex)
CubeTex_GetFormat==(pCubeTex)
CubeTex_GetMipmapGeneration==(pCubeTex)
CubeTex_SyncMRT==pCubeTex, pCubeTexB, pCubeTexC, pCubeTexD, CameraID
CubeTex_SyncFacesMRT==pCubeTex, pCubeTexB, pCubeTexC, pCubeTexD, CameraID, dwMaskBits
GeoInst_MakeNew==()
GeoInst_Delete==pGInst
GeoInst_SetHidden==pGInst, bHidden
GeoInst_GetHidden==(pGInst)
GeoInst_SetCameraMask==pGInst, dwMaskBits
GeoInst_GetCameraMask==(pGInst)
GeoInst_SetMesh==pGInst, ObjectID, LimbID
GeoInst_GetMeshObject==(pGInst)
GeoInst_GetMeshLimb==(pGInst)
GeoInst_SetMaxInstanceCount==pGInst, Count
GeoInst_GetMaxInstanceCount==(pGInst)
GeoInst_SetInstanceCount==pGInst, Count
GeoInst_GetInstanceCount==(pGInst)
GeoInst_SetExcluded==pGInst, Index, bExcluded
GeoInst_GetExcluded==(pGInst, Index)
GeoInst_SetPosition==pGInst, Index, X#, Y#, Z#
GeoInst_GetPositionX==(pGInst, Index)
GeoInst_GetPositionY==(pGInst, Index)
GeoInst_GetPositionZ==(pGInst, Index)
GeoInst_SetRotation==pGInst, Index, X#, Y#, Z#
GeoInst_GetAngleX==(pGInst, Index)
GeoInst_GetAngleY==(pGInst, Index)
GeoInst_GetAngleZ==(pGInst, Index)
GeoInst_SetScale==pGInst, Index, Percent# || pGInst, Index, X#, Y#, Z#
GeoInst_GetScaleX==(pGInst, Index)
GeoInst_GetScaleY==(pGInst, Index)
GeoInst_GetScaleZ==(pGInst, Index)
GeoInst_DeclareCustomElements==pGInst, bWorldMat
GeoInst_AddCustomElement==pGInst, NumFloats
GeoInst_FinishCustomElements==pGInst
GeoInst_DeleteCustomElements==pGInst
GeoInst_SetCustomData==pGInst, Index, Element, X# [, Y# [, Z# [, W# ]]]
GeoInst_GetCustomDataX==(pGInst, Index, Element)
GeoInst_GetCustomDataY==(pGInst, Index, Element)
GeoInst_GetCustomDataZ==(pGInst, Index, Element)
GeoInst_GetCustomDataW==(pGInst, Index, Element)
GeoInst_GetWorldMatrixPtr==(pGInst, Index)
GeoInst_SetWorldMatrixPtr==pGInst, Index, pMatrix4
GeoInst_GetCustomDataPtr==(pGInst, Index, Element)
GeoInst_SetCustomDataPtr==pGInst, Index, Element, pFloats
GeoInst_Update==pGInst
GeoInst_UpdateInstance==pGInst, Index
GeoInst_GetDrawCount==(pGInst)
GeoInst_GetDrawPrimitives==(pGInst)
GeoInst_CheckDeviceSupport==(pGInst)
GeoInst_SetRenderPriority==pGInst, Priority
GeoInst_GetRenderPriority==(pGInst)
GeoInst_GetRenderIndex==(pGInst)
GeoInst_SortRenderQueue==*no parameters*
EfxCam_MakeNew==FxCamID
EfxCam_Delete==FxCamID
EfxCam_GetExist==(FxCamID)
EfxCam_SetBackdropEnabled==FxCamID, bEnabled
EfxCam_SetBackdropColor==FxCamID, dwColor
EfxCam_SetToImage==FxCamID, ImageID, Width, Height [, D3DFMT]
EfxCam_SetObject==FxCamID, ObjectID
EfxCam_SetAspect==FxCamID, Aspect#
EfxCam_SetFOV==FxCamID, FOV#
EfxCam_SetRange==FxCamID, Near#, Far#
EfxCam_SetView==FxCamID, Left, Top, Right, Bottom
EfxCam_SetPosition==FxCamID, X#, Y#, Z#
EfxCam_SetRotation==FxCamID, X#, Y#, Z#
EfxCam_SyncMask==dwMaskBits
EfxCam_Sync==*no parameters*
EfxCam_SetMRTImage==FxCamID, TargetIndex, ImageID [, D3DFMT]

All comments, questions, and suggestions are welcome.