/// <summary> /// Initializes a new instance of the <see cref="RenderItem"/> struct. /// </summary> /// <param name="renderer">The renderer.</param> /// <param name="drawContext">The draw context.</param> /// <param name="depth">The depth.</param> public RenderItem(IEntityComponentRenderer renderer, object drawContext, float depth) { if (renderer == null) { throw new ArgumentNullException("renderer"); } if (drawContext == null) { throw new ArgumentNullException("drawContext"); } Renderer = renderer; DrawContext = drawContext; unsafe { Depth = *(int *)&depth; // Ordering of negative float and int values is reversed, since negative ints are ordered (bitwise) // by increasing value, while negative floats are ordered by increasing absolute value if (Depth < 0) { Depth = (1 << 31) - Depth; } } }
/// <summary> /// Initializes a new instance of the <see cref="RenderItem"/> struct. /// </summary> /// <param name="renderer">The renderer.</param> /// <param name="drawContext">The draw context.</param> /// <param name="depth">The depth.</param> public RenderItem(IEntityComponentRenderer renderer, object drawContext, float depth) { if (renderer == null) throw new ArgumentNullException("renderer"); if (drawContext == null) throw new ArgumentNullException("drawContext"); Renderer = renderer; DrawContext = drawContext; unsafe { Depth = *(int*)&depth; // Ordering of negative float and int values is reversed, since negative ints are ordered (bitwise) // by increasing value, while negative floats are ordered by increasing absolute value if (Depth < 0) Depth = (1 << 31) - Depth; } }
/// <summary> /// Initializes a new instance of the <see cref="RenderItem"/> struct. /// </summary> /// <param name="renderer">The renderer.</param> /// <param name="drawContext">The draw context.</param> /// <param name="depth">The depth.</param> public RenderItem(IEntityComponentRenderer renderer, object drawContext, float depth) { if (renderer == null) throw new ArgumentNullException("renderer"); if (drawContext == null) throw new ArgumentNullException("drawContext"); Renderer = renderer; DrawContext = drawContext; // If depth less than 0, than set it to 0 if (depth < MathUtil.ZeroTolerance) { depth = 0.0f; } unsafe { Depth = *(int*)&depth; } }
/// <summary> /// Initializes a new instance of the <see cref="RenderItem"/> struct. /// </summary> /// <param name="renderer">The renderer.</param> /// <param name="drawContext">The draw context.</param> /// <param name="depth">The depth.</param> public RenderItem(IEntityComponentRenderer renderer, object drawContext, float depth) { if (renderer == null) { throw new ArgumentNullException("renderer"); } if (drawContext == null) { throw new ArgumentNullException("drawContext"); } Renderer = renderer; DrawContext = drawContext; // If depth less than 0, than set it to 0 if (depth < MathUtil.ZeroTolerance) { depth = 0.0f; } unsafe { Depth = *(int *)&depth; } }
public EntityComponentRendererEventArgs(CameraRendererMode cameraRendererMode, IEntityComponentRenderer renderer) { CameraRendererMode = cameraRendererMode; Renderer = renderer; }