- fixed keyboard sample (missing PlatformSystem)
- added a ArgumentNullException to EffectParameter in DirectX 10 RenderSystem (was a unhandled exception) - fixed a issue in SpriteBatch when no draw call was made between begin and end calls (unhandled exception)
This commit is contained in:
parent
d05594fce8
commit
c12c59b648
@ -252,30 +252,33 @@ namespace ANX.Framework.Graphics
|
|||||||
|
|
||||||
if (this.currentSortMode != SpriteSortMode.Immediate)
|
if (this.currentSortMode != SpriteSortMode.Immediate)
|
||||||
{
|
{
|
||||||
if (this.currentSortMode == SpriteSortMode.Texture)
|
if (currentBatchPosition > 0)
|
||||||
{
|
{
|
||||||
Array.Sort<SpriteInfo>(spriteInfos, 0, currentBatchPosition, textureComparer);
|
if (this.currentSortMode == SpriteSortMode.Texture)
|
||||||
}
|
|
||||||
else if (this.currentSortMode == SpriteSortMode.BackToFront)
|
|
||||||
{
|
|
||||||
Array.Sort<SpriteInfo>(spriteInfos, 0, currentBatchPosition, backToFrontComparer);
|
|
||||||
}
|
|
||||||
else if (this.currentSortMode == SpriteSortMode.FrontToBack)
|
|
||||||
{
|
|
||||||
Array.Sort<SpriteInfo>(spriteInfos, 0, currentBatchPosition, frontToBackComparer);
|
|
||||||
}
|
|
||||||
|
|
||||||
int startOffset = 0;
|
|
||||||
Texture2D lastTexture = spriteInfos[0].texture;
|
|
||||||
for (int i = 0; i <= currentBatchPosition; i++)
|
|
||||||
{
|
|
||||||
if (lastTexture != spriteInfos[i].texture || i == currentBatchPosition)
|
|
||||||
{
|
{
|
||||||
BatchRender(startOffset, i - startOffset);
|
Array.Sort<SpriteInfo>(spriteInfos, 0, currentBatchPosition, textureComparer);
|
||||||
startOffset = i;
|
}
|
||||||
|
else if (this.currentSortMode == SpriteSortMode.BackToFront)
|
||||||
|
{
|
||||||
|
Array.Sort<SpriteInfo>(spriteInfos, 0, currentBatchPosition, backToFrontComparer);
|
||||||
|
}
|
||||||
|
else if (this.currentSortMode == SpriteSortMode.FrontToBack)
|
||||||
|
{
|
||||||
|
Array.Sort<SpriteInfo>(spriteInfos, 0, currentBatchPosition, frontToBackComparer);
|
||||||
}
|
}
|
||||||
|
|
||||||
lastTexture = spriteInfos[i].texture;
|
int startOffset = 0;
|
||||||
|
Texture2D lastTexture = spriteInfos[0].texture;
|
||||||
|
for (int i = 0; i <= currentBatchPosition; i++)
|
||||||
|
{
|
||||||
|
if (lastTexture != spriteInfos[i].texture || i == currentBatchPosition)
|
||||||
|
{
|
||||||
|
BatchRender(startOffset, i - startOffset);
|
||||||
|
startOffset = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
lastTexture = spriteInfos[i].texture;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,6 +149,11 @@ namespace ANX.RenderSystem.Windows.DX10
|
|||||||
|
|
||||||
public void SetValue(Texture value)
|
public void SetValue(Texture value)
|
||||||
{
|
{
|
||||||
|
if (value == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException("value");
|
||||||
|
}
|
||||||
|
|
||||||
Texture2D_DX10 tex = value.NativeTexture as Texture2D_DX10;
|
Texture2D_DX10 tex = value.NativeTexture as Texture2D_DX10;
|
||||||
GraphicsDeviceWindowsDX10 graphicsDX10 = tex.GraphicsDevice.NativeDevice as GraphicsDeviceWindowsDX10;
|
GraphicsDeviceWindowsDX10 graphicsDX10 = tex.GraphicsDevice.NativeDevice as GraphicsDeviceWindowsDX10;
|
||||||
SharpDX.Direct3D10.Device device = graphicsDX10.NativeDevice;
|
SharpDX.Direct3D10.Device device = graphicsDX10.NativeDevice;
|
||||||
|
@ -115,6 +115,10 @@
|
|||||||
<Project>{97185A92-077D-4498-8B6A-8BFF04079044}</Project>
|
<Project>{97185A92-077D-4498-8B6A-8BFF04079044}</Project>
|
||||||
<Name>ANX.MediaSystem.Windows.OpenAL</Name>
|
<Name>ANX.MediaSystem.Windows.OpenAL</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\..\PlatformSystems\ANX.PlatformSystem.Windows\ANX.PlatformSystem.Windows.csproj">
|
||||||
|
<Project>{068EB2E9-963C-4E1B-8831-E25011F11FFE}</Project>
|
||||||
|
<Name>ANX.PlatformSystem.Windows</Name>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\..\RenderSystems\ANX.Framework.Windows.DX10\ANX.RenderSystem.Windows.DX10.csproj">
|
<ProjectReference Include="..\..\RenderSystems\ANX.Framework.Windows.DX10\ANX.RenderSystem.Windows.DX10.csproj">
|
||||||
<Project>{5BE49183-2F6F-4527-AC90-D816911FCF90}</Project>
|
<Project>{5BE49183-2F6F-4527-AC90-D816911FCF90}</Project>
|
||||||
<Name>ANX.Framework.Windows.DX10</Name>
|
<Name>ANX.Framework.Windows.DX10</Name>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user