Remove build message saying that a content file is still valid and will be skipped. Use OnApply for Effects, instead of an internal PreBindSetParameters. Removed unnecessary dependencies from EffectParameterCollection and EffectTechniqueCollection. Moved Apply from INativeEffect to INativeEffectPass as Apply can only be called on an EffectPass. Added IDisposable to many Native object interfaces. Added an InputLayoutManager so the InputLayouts don't get created on every call. Increased the amount of shared code for the GraphicsDevice between DX10 and DX11. Simplified the amount of stuff the Draw calls do. It's possible to use specific renderPasses when drawing and the drawing methods of the GraphicsDevice don't draw all effectPasses of an effec anymore. Fixed the bug that a DynamicVertexBuffer created a staging buffer when setting Elements for DX10 and DX11, which was unnecessary. Also it didn't create a staging before for normal VertexBuffers which made it not possible to set data there. Implement EffectAnnotations for DX10. Fixed SetRenderTargets for DX11.
114 lines
2.8 KiB
C#
114 lines
2.8 KiB
C#
#region Using Statements
|
|
using System;
|
|
using ANX.Framework.Graphics;
|
|
using ANX.Framework.NonXNA.Development;
|
|
|
|
#endregion // Using Statements
|
|
|
|
// This file is part of the ANX.Framework created by the
|
|
// "ANX.Framework developer group" and released under the Ms-PL license.
|
|
// For details see: http://anxframework.codeplex.com/license
|
|
|
|
namespace ANX.Framework.NonXNA
|
|
{
|
|
[PercentageComplete(100)]
|
|
[TestState(TestStateAttribute.TestState.Untested)]
|
|
[Developer("Glatzemann")]
|
|
public interface INativeEffectParameter : IDisposable
|
|
{
|
|
string Name { get; }
|
|
string Semantic { get; }
|
|
int ColumnCount { get; }
|
|
int RowCount { get; }
|
|
EffectParameterClass ParameterClass { get; }
|
|
EffectParameterType ParameterType { get; }
|
|
EffectAnnotationCollection Annotations { get; }
|
|
EffectParameterCollection Elements { get; }
|
|
EffectParameterCollection StructureMembers { get; }
|
|
|
|
#region GetValue
|
|
bool GetValueBoolean();
|
|
|
|
bool[] GetValueBooleanArray(int count);
|
|
|
|
int GetValueInt32();
|
|
|
|
int[] GetValueInt32Array(int count);
|
|
|
|
Matrix GetValueMatrix();
|
|
|
|
Matrix[] GetValueMatrixArray(int count);
|
|
|
|
Matrix GetValueMatrixTranspose();
|
|
|
|
Matrix[] GetValueMatrixTransposeArray(int count);
|
|
|
|
Quaternion GetValueQuaternion();
|
|
|
|
Quaternion[] GetValueQuaternionArray(int count);
|
|
|
|
float GetValueSingle();
|
|
|
|
float[] GetValueSingleArray(int count);
|
|
|
|
string GetValueString();
|
|
|
|
Texture2D GetValueTexture2D();
|
|
|
|
Texture3D GetValueTexture3D();
|
|
|
|
TextureCube GetValueTextureCube();
|
|
|
|
Vector2 GetValueVector2();
|
|
|
|
Vector2[] GetValueVector2Array(int count);
|
|
|
|
Vector3 GetValueVector3();
|
|
|
|
Vector3[] GetValueVector3Array(int count);
|
|
|
|
Vector4 GetValueVector4();
|
|
|
|
Vector4[] GetValueVector4Array(int count);
|
|
#endregion
|
|
|
|
#region SetValue
|
|
void SetValue(bool value);
|
|
|
|
void SetValue(bool[] value);
|
|
|
|
void SetValue(int value);
|
|
|
|
void SetValue(int[] value);
|
|
|
|
void SetValue(Matrix value, bool transpose);
|
|
|
|
void SetValue(Matrix[] value, bool transpose);
|
|
|
|
void SetValue(Quaternion value);
|
|
|
|
void SetValue(Quaternion[] value);
|
|
|
|
void SetValue(float value);
|
|
|
|
void SetValue(float[] value);
|
|
|
|
void SetValue(Vector2 value);
|
|
|
|
void SetValue(Vector2[] value);
|
|
|
|
void SetValue(Vector3 value);
|
|
|
|
void SetValue(Vector3[] value);
|
|
|
|
void SetValue(Vector4 value);
|
|
|
|
void SetValue(Vector4[] value);
|
|
|
|
void SetValue(string value);
|
|
|
|
void SetValue(Texture value);
|
|
#endregion
|
|
}
|
|
}
|