diff --git a/RenderSystems/ANX.Framework.Windows.GL3/ANX.Framework.Windows.GL3.csproj b/RenderSystems/ANX.Framework.Windows.GL3/ANX.Framework.Windows.GL3.csproj index 898e5531..a5b07d40 100644 --- a/RenderSystems/ANX.Framework.Windows.GL3/ANX.Framework.Windows.GL3.csproj +++ b/RenderSystems/ANX.Framework.Windows.GL3/ANX.Framework.Windows.GL3.csproj @@ -54,6 +54,7 @@ + diff --git a/RenderSystems/ANX.Framework.Windows.GL3/EffectGL3.cs b/RenderSystems/ANX.Framework.Windows.GL3/EffectGL3.cs index 14391936..fc817a26 100644 --- a/RenderSystems/ANX.Framework.Windows.GL3/EffectGL3.cs +++ b/RenderSystems/ANX.Framework.Windows.GL3/EffectGL3.cs @@ -229,7 +229,8 @@ namespace ANX.Framework.Windows.GL3 programName + "' because of: " + programError); } - EffectTechniqueGL3 technique = new EffectTechniqueGL3(programName, programHandle); + EffectTechniqueGL3 technique = new EffectTechniqueGL3(managedEffect, programName, + programHandle); techniques.Add(new EffectTechnique(managedEffect, technique)); int uniformCount; diff --git a/RenderSystems/ANX.Framework.Windows.GL3/EffectPassGL3.cs b/RenderSystems/ANX.Framework.Windows.GL3/EffectPassGL3.cs new file mode 100644 index 00000000..c25884b7 --- /dev/null +++ b/RenderSystems/ANX.Framework.Windows.GL3/EffectPassGL3.cs @@ -0,0 +1,63 @@ +using System; +using ANX.Framework.NonXNA; + +#region License + +// +// This file is part of the ANX.Framework created by the "ANX.Framework developer group". +// +// This file is released under the Ms-PL license. +// +// +// +// Microsoft Public License (Ms-PL) +// +// This license governs use of the accompanying software. If you use the software, you accept this license. +// If you do not accept the license, do not use the software. +// +// 1.Definitions +// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning +// here as under U.S. copyright law. +// A "contribution" is the original software, or any additions or changes to the software. +// A "contributor" is any person that distributes its contribution under this license. +// "Licensed patents" are a contributor's patent claims that read directly on its contribution. +// +// 2.Grant of Rights +// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations +// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to +// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution +// or any derivative works that you create. +// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in +// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed +// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution +// in the software or derivative works of the contribution in the software. +// +// 3.Conditions and Limitations +// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your +// patent license from such contributor to the software ends automatically. +// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution +// notices that are present in the software. +// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including +// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or +// object code form, you may only do so under a license that complies with this license. +// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, +// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the +// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a +// particular purpose and non-infringement. + +#endregion // License + +namespace ANX.Framework.Windows.GL3 +{ + public class EffectPassGL3 : INativeEffectPass + { + public string Name + { + get + { + return "p0"; + } + } + } +} diff --git a/RenderSystems/ANX.Framework.Windows.GL3/EffectTechniqueGL3.cs b/RenderSystems/ANX.Framework.Windows.GL3/EffectTechniqueGL3.cs index 45d290c5..5ffaff8d 100644 --- a/RenderSystems/ANX.Framework.Windows.GL3/EffectTechniqueGL3.cs +++ b/RenderSystems/ANX.Framework.Windows.GL3/EffectTechniqueGL3.cs @@ -78,6 +78,13 @@ namespace ANX.Framework.Windows.GL3 /// The active attributes of this technique. /// internal Dictionary activeAttributes; + + /// + /// We currently have only one pass per technique. + /// + private EffectPass pass; + + private Effect parentEffect; #endregion #region Public @@ -97,8 +104,7 @@ namespace ANX.Framework.Windows.GL3 { get { - //TODO: implement - yield return null; + yield return pass; } } #endregion @@ -107,12 +113,15 @@ namespace ANX.Framework.Windows.GL3 /// /// Create a ne effect technique object. /// - internal EffectTechniqueGL3(string setName, int setProgramHandle) + internal EffectTechniqueGL3(Effect setParentEffect, string setName, int setProgramHandle) { + parentEffect = setParentEffect; Name = setName; programHandle = setProgramHandle; GetAttributes(); + + pass = new EffectPass(parentEffect); } #endregion diff --git a/Samples/Primitives/Primitives.csproj b/Samples/Primitives/Primitives.csproj index 20ff2ba0..d18efe77 100644 --- a/Samples/Primitives/Primitives.csproj +++ b/Samples/Primitives/Primitives.csproj @@ -95,6 +95,10 @@ {5BE49183-2F6F-4527-AC90-D816911FCF90} ANX.Framework.Windows.DX10 + + {EB8258E0-6741-4DB9-B756-1EBDF67B1ED6} + ANX.Framework.Windows.GL3 + {6A582788-C4D2-410C-96CD-177F75712D65} ANX.SoundSystem.Windows.XAudio diff --git a/Tools/XNAToANXConverter/ProjectData.cs b/Tools/XNAToANXConverter/ProjectData.cs index 67ff2495..c010e69c 100644 --- a/Tools/XNAToANXConverter/ProjectData.cs +++ b/Tools/XNAToANXConverter/ProjectData.cs @@ -98,7 +98,8 @@ namespace XNAToANXConverter { anxPath = anxPath.Substring(0, anxPath.IndexOf(',')) + ".dll"; } - propertyGroup.Add(new XElement("Reference", + propertyGroup.Add(new XElement(XName.Get("Reference", + propertyGroup.Name.NamespaceName), new XAttribute("Include", anxPath))); } #endregion @@ -113,7 +114,8 @@ namespace XNAToANXConverter // TODO: FQN of the xna assemby string xnaPath = assemblyPath.Replace(AnxBaseName, XnaBaseName); - propertyGroup.Add(new XElement("Reference", + propertyGroup.Add(new XElement(XName.Get("Reference", + propertyGroup.Name.NamespaceName), new XAttribute("Include", xnaPath))); } #endregion