/// <summary> /// 设置渲染到纹理 /// </summary> /// <param name="rtt">指定渲染到纹理的目标</param> public void SetRenderTarget(RenderToTexture rtt) { if (null != rtt) { ICall_Camera_SetRenderToTexture(this, rtt); } }
/// <summary> /// 设置光照渲染纹理 /// </summary> /// <param name="rtt">指定光照纹理的目标</param> public void SetLightLitTexture(RenderToTexture rtt) { if (null != rtt) { ICall_Camera_SetLightLitTexture(this, rtt); } }
/// <summary> /// 利用材质实例的特定通道,将指定纹理渲染至目标RenderToTexture /// </summary> /// <param name="source">指定的纹理</param> /// <param name="destination">目标RenderToTexture</param> /// <param name="material">材质实例</param> /// <param name="passIndex">材质实例的通道</param> public static void BlitImage(Texture source, RenderToTexture destination, MaterialInstance material, int passIndex) { if (null == source) { ICall_GraphicSystem_BlitImage(IntPtr.Zero, destination, material, passIndex); } else { ICall_GraphicSystem_BlitImage(source.GetTextureHandlePtr(), destination, material, passIndex); } }
private static extern IntPtr ICall_RenderToTexture_GetTextureHandlePtr(RenderToTexture self);
private static extern void ICall_RenderToTexture_Bind(RenderToTexture self);
/// <summary> /// 利用RenderToTexture和缓冲区清理标志位,设置渲染目标 /// </summary> /// <param name="target">RenderToTexture,输入参数</param> /// <param name="index">渲染目标的缓冲区清理标志位</param> public static void SetRenderTarget(RenderToTexture target, int index) { ICall_GraphicSystem_SetRenderTarget(target, index); }
extern private static void ICall_RenderToTexture_Setup(RenderToTexture self, int width, int height, int pixelFormat , uint flag, ref Vector4 color, bool useDepth , float screenRatio, int antiAliasQuality, int texLeft, int texRight, int texTop, int texBottom);
private static extern void ICall_GraphicSystem_SetRenderTarget(RenderToTexture target, int index);
extern private static void ICall_GraphicSystem_SetRenderTarget(RenderToTexture target, int index);
private static extern void ICall_CameraComponent_SetRenderToTexture(CameraComponent self, RenderToTexture renderToTexture);
virtual public bool OnRenderPostEffect(CameraComponent sender, RenderToTexture source, RenderToTexture destination) { return(false); }
private static extern void ICall_RenderComponent_SetTextureRTT(RenderComponent self, int iSubMesh, String sParamName, RenderToTexture rtt);
/// <summary> /// 设置渲染到纹理 /// </summary> /// <param name="rtt">指定渲染到纹理的目标</param> public void SetRenderTarget(RenderToTexture rtt) { if (null != rtt) { ICall_CameraComponent_SetRenderToTexture(this, rtt); } }
private static extern void ICall_Camera_SetRenderToTexture(Camera self, RenderToTexture renderToTexture);
extern private static void ICall_CameraComponent_SetRenderToTexture(CameraComponent self, RenderToTexture renderToTexture);
private static extern void ICall_RenderToTexture_Release(RenderToTexture self);
private static extern void ICall_RenderToTexture_Setup(RenderToTexture self,int width,int height,int pixelFormat , uint flag, ref Vector4 color, bool useDepth ,float screenRatio,int antiAliasQuality,int texLeft,int texRight,int texTop,int texBottom);
extern private static void ICall_Camera_SetLightLitTexture(Camera self, RenderToTexture renderToTexture);
extern private static void ICall_RenderToTexture_Bind(RenderToTexture self);
extern private static void ICall_GraphicSystem_BlitImage(IntPtr textureHandlePtr, RenderToTexture destination, MaterialInstance material, int passIndex);
private static extern void ICall_GraphicSystem_BlitImage(IntPtr textureHandlePtr, RenderToTexture destination, MaterialInstance material, int passIndex);
/// <summary> /// 设置渲染相关组件的第i个材质的指定渲染到纹理参数的参数实例 /// </summary> /// <param name="index">渲染相关组件的材质索引</param> /// <param name="sParamName">材质的渲染到纹理参数名称</param> /// <param name="rtt">要设置的渲染到纹理实例</param> public void SetTexture(int index, String sParamName, RenderToTexture rtt) { ICall_RenderComponent_SetTextureRTT(this, index, sParamName, rtt); }
public virtual bool OnRenderPostEffect(CameraComponent sender, RenderToTexture source, RenderToTexture destination) { return false; }
extern private static void ICall_RenderToTexture_Release(RenderToTexture self);
extern private static void ICall_RenderComponent_SetTextureRTT(RenderComponent self, int iSubMesh, String sParamName, RenderToTexture rtt);
extern private static IntPtr ICall_RenderToTexture_GetTextureHandlePtr(RenderToTexture self);