349 Commits

Author SHA1 Message Date
Konstantin Koch
d9e752b3b1 Fix AssimpImporter and that Rendersystems can be loaded when creating content files, also allows Reference and Null Device for DX
If a model was imported with TargetRealTimeMaximumQuality and then
drawn, it causes a blue screen on my system (Nvidia Geforce GTC 650,
Driver version 353.62)
Also disabled Content recreation if a content project is launched with
the visual studio debugger.
2015-11-22 14:12:43 +01:00
Konstantin Koch
32b43c2a82 Added INativeGraphicsAdapter 2015-10-24 19:26:27 +02:00
Konstantin Koch
c61b7a077e Migrated WindowsFormsEditor and WindowsGame and did basic implementation of OpenTK InputDevices
Made it possible to separate the InputDevices by their provider and set
a preffered provider. Otherwise you are restricted to only having one
input Device provider.
Improved the error message if the WindowHandle on the InputDeviceFactory
is invalid.
Improved AssemblyLoader which was skipping the InputDevices.OpenTK
assembly because the OpenTK assembly was blocked. Added ANX.Framework
and SharpDX.Direct3D11.Effects to the ignore list.
The AssemblyLoader is not static anymore (Only used in
AddinSystemFactory) and it doesn't add the same assembly multiple times
anymore. Additionally, if a type of an assembly couldn't be loaded, it
throws now a TypeLoadException with the hint that a dependency might
have been loaded in the wrong version.
Refactored RenderSystem.GL3 with the latest changes on the effect system
that have been done in the ANX.Framework.
2015-10-18 13:37:39 +02:00
Konstantin Koch
3cd7efbba4 Migrated StencilBuffer example and removed memory leaks for DX10 and DX11
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.
2015-10-14 23:59:27 +02:00
Konstantin Koch
85322e2363 Migrated Primitives, RecordingSample, RenderTarget and SimpleSprite. Also implemented DynamicBuffers and fixed many Dispose functions
increased the amount of shared code between vertex and index buffers
fixed GraphicsDevice.Reset() which didn't save the provided presentation
parameters and the backbuffer was still bound after the recent changes
about the rendertargets
Vertex and IndexBuffers that get dynamically generated for the UserDraw
methods dispose the buffers now
Added DebugNames to Index and VertexBuffers and their Dynamic version.
2015-10-04 21:30:00 +02:00
Konstantin Koch
55ab328f79 Updated BasicEffectSample, DualTextureSample, KeyboardSample and MultiRenderTarget. Also reduced the memory usage for multiple rendertargets
Also did some Refactoring for Classes that implement and use
INativeBuffer.
The memory usage reduction for rendertargets resulted in some
refactoring of the directx texture classes.
Also added DebugNames for some DirectX resources in case of a debug
build.
2015-09-30 21:31:15 +02:00
Konstantin Koch
c335f183cb Removed some CLSCompliant warnings 2015-09-30 19:41:35 +02:00
Konstantin Koch
17d0771b03 Placed the importers into different categories for the "importing existing files" dialog in Visual Studio.
Fixed a performance problem in the Visual Studio extension where no importer or processor was selected for an asset.
Fixed that the asset names for Uri encoded in the build output.
Fixed that errors when serializing assets get logged.
Sped up ImporterManager.GuessImporterByFileExtension, which caused performance problems if many assemblies are loaded into the current AppDomain.
Made the AssimpImporter library deploy the binary files again (hopefully just a temporary solution until we've found a better way.)
Provide a extension for TargetPlatform enum for getting the DisplayName of an entry.
Changed that ProcessorManager.GetProcessorDisplayName doesn't throw an exception if no processor with the given name exists, which now mimicks the same behavior as in importerManager.GetImporterDisplayName.
2015-04-26 19:47:26 +02:00
Konstantin Koch
8287c54432 Included the Visual Studio extension and made the necessary changes to make it run.
Replaced the old VS templates with ones that offer more flexiblity.
Started replacing the Content Project for the samples with our custom project type.
Inlcuded a basic not yet working AssimpImporter.
2015-04-08 14:50:03 +02:00
Konstantin Koch
cb01231e7d implemented Intermediate.Serializer namespace in Content Pipeline.
removed the old .tfignore file.
2015-03-29 18:16:03 +02:00
Konstantin Koch
f081f8632a two commits were missing, both by KorsarNek:
"Removed the SupportedPlatformsImpl classes and replaced them with a new SupportedPlatforms attribute on the assembly level.
Removed a few class constructors which could cause problems when loading a game.
Made ResetElapsedTime in the game class reset to 0 instead of TimeSpan.MinValue.
Removed the restriction in the InputDeviceFactory for which InputDevices are supported.
Added a Logger for Metro which works with the current Logger implementation.
Changed that when a platform is recognized that is higher than Windows 8, it gets treated like Windows 8, not like Windows 7.
Due to the SupportedPlatforms change, the assembly loader is now faster in finding out which assemblies contains addIns. For not Metro system, it's also added that a warning gets written if an AddIn references a different ANX version than that of the running assembly.
OpenGL and DirectX have been updated to the newest versions.
XAudio system uses now the same SharpDX version as all the other systems.
ParameterBuffer for WindowsMetro gets now correctly created by considering the size constraints for constant buffers.
Fixed an erroneous finalizer in the xaudio system.
Made the metro projects convert to Windows 8.1, as Windows 8.0 is not supported by the newer SharpDX versions. It's now also necessary to use at least Visual Studio 2013 to build the Metro versions.
Made the samples work again on Windows."

"Fixed the creation of the swap chain for windows metro and removed the dependency of the Metro Rendersystem onto the Metro Platformsytem.
All occurrences of WindowHandles have been replaced with a custom WindowHandle type which should work out of the box in most cases, but does still represent a breaking change to XNA.
The ProjectConverter for Metro was adjusted so that with just changing the way the application is initialized, most projects that worked with ANX before should now work under win rt. The sample SimpleNoContent does now work out of the box for win rt, after a project conversion.
The application name for win rt apps is now a guid, the display name stayed the same though. That's to be more compliant with the way win rt apps are normally created.
The default namespace and namespace of the classes for the Sample "SimpleNoContent" is renamed from "SimpleModernUI" to "SimpleNoContent".
With the new way win rt apps are initialized for ANX, it's necessary to first create the WindowsGameHost for WinRT with a handler how to create the game instance and give that to the CoreApplication object to run it.
Also took care of a few annoying bugs when working with win rt and ANX where no InputDevices could be created on the first frame (Issue #1164 ) and that it wasn't possible to use the localfolder of the application on the first update and all the other stuff for which an instance of the Application class was necessary."
2015-03-29 13:48:33 +02:00
SND\rene87_cp
77afddf4ba For Test Only replace 2 private bools with proteced for an W8 workaround 2015-03-15 01:13:23 +01:00
Glatzemann
37075c7e90 added "CurrentDisplayMode" of DefaultAdapter for GL3, DX10 and DX11 (issue #1194) 2015-03-15 01:12:51 +01:00
Glatzemann
f9a44d9ac3 fixed issue #1146 2015-03-15 01:12:50 +01:00
Glatzemann
0daa7c04f9 - applied patch #13368 of clcrutch (fixes XInput's Keyboard.GetState(PlayerIndex) to match XNA's functionality)
- added build support for "Visual Studio 2012 Express for Windows Desktop" using the MakeAnxFramework command
- marked patches in source files
2015-03-15 01:12:24 +01:00
SND\eagleeyestudios_cp
695ce34937 - Removed "Patch applied" region directives from Game.cs and DrawableGameComponent.cs because they made MSBuild complain about bad Syntax.
- Fixed bug in ContentCompiler build process that occurred when using relative Paths.
- Changed creation method to use relative paths
2015-03-15 01:12:24 +01:00
Glatzemann
8dced08668 applied patch #13365 by clcrutch 2015-03-15 01:12:23 +01:00
Glatzemann
4096a16846 some minor GL3 RenderSystem tweaking 2015-03-15 01:12:23 +01:00
Glatzemann
749fa0a5f1 Added ANX.SoundSystem.Null for debugging. This SoundSystem does nothing, it is only a empty hull. 2015-03-15 01:12:22 +01:00
SND\eagleeyestudios_cp
412e4885c9 Improved Project Converter UI 2015-03-15 01:12:16 +01:00
Glatzemann
286f0d9478 build script improvement: only stock shaders which are needed for the build target are generated, not all anymore 2015-03-15 01:12:12 +01:00
Glatzemann
968ee33394 improved Matrix.Decompose and added some more unit tests 2015-03-15 01:12:06 +01:00
Glatzemann
99216ca254 - Fixed some bugs in build system
- Build system optimizations
- Extended ProjectConverter: DX and SharpDX assemblies are now removed from linux projects to prevent errors
- Fixed a bunch of compiler warnings
- Removed DX11MetroShaderGenerator assembly. It is now included in ANX.Framework.Content.Pipeline
- Removed HLSLParser assembly. It is now included in ANX.Framework.Content.Pipeline.
- Removed shader parser from GL3-RenderSystem. It is now included in ANX.Framework.Content.Pipeline.
- Removed RenderSystem dependencies from StockShaderCodeGenerator (sscg) tool
2015-03-15 01:12:04 +01:00
Glatzemann
2eb7923339 - fixed reading of SpriteFont's (DefaultCharacter handling was wrong)
- fixed handling of DefaultCharacter in FontDescriptionImporter (no handling)
- set DefaultCharacter in SampleContent's Debug font
2015-03-15 01:12:02 +01:00
Glatzemann
0d3593c223 - Fixed an issue with content compiling: The readers for generic types were not registered in the XNB file and therefor couldn't be loaded.
- Fixed an issue with CharWriter: It was a ByteWriter (wrong name)...
2015-03-15 01:12:01 +01:00
SND\eagleeyestudios_cp
33604e198d Content Pipeline:
- changed FontDescriptionProcessor test status to InProgress

Framework:
- Implemented missing Matrix methods and fixed some issues. A few UnitTests more pass now :)
2015-03-15 01:12:00 +01:00
Glatzemann
cf5cef5d09 Improved MakeAnxFramework build script starter:
- better error handling
- obtaining Visual Studio directory from registry or program files path (thx to Razer)
2015-03-15 01:11:57 +01:00
SND\AstrorEnales_cp
bb4f7ccf2e Working on ModelMesh, ModelMeshCollection, ModelMeshPart and ModelMeshPartCollection tests 2015-03-15 01:11:53 +01:00
SND\AstrorEnales_cp
6c488dbca5 - Working on tests for all the graphics collection classes (Finished: ModelBoneCollection, DisplayModeCollection, ModelBone)
- Added some excludes to the AssemblyLoader to decrease startup time a little bit
2015-03-15 01:11:53 +01:00
SND\AstrorEnales_cp
be01038e1f Fixed the DisplayMode class which was way too accessible!
Added Tests for:
- DisplayMode
- VertexElement
- VertexPositionColor (GetHashCode still fails)
- VertexPositionColorTexture (GetHashCode still fails)
- VertexPositionTexture
- VertexPositionNormalTexture
2015-03-15 01:11:49 +01:00
SND\AstrorEnales_cp
994e894b24 Added a full test set for the TouchCollection and the TouchLocation 2015-03-15 01:11:49 +01:00
SND\AstrorEnales_cp
325aa4c152 Implemented GetHashCode methods in the Input classes and added unit tests for them, they are now fully tested 2015-03-15 01:11:48 +01:00
Glatzemann
fa32fcea55 added some tests
added some developer attributes
completed some more classes
2015-03-15 01:11:47 +01:00
SND\AstrorEnales_cp
73b50ab6c3 - Translated the AlphaTest shader to GLSL (needs some more testing)
- Added a bunch of Development attributes
- Fixed a class file name that was different from the class name itself
2015-03-15 01:11:46 +01:00
SND\AstrorEnales_cp
663dff347d - Added a new Sample to test all AlphaTestEffect behaviours
- Working on some tests
2015-03-15 01:11:46 +01:00
SND\AstrorEnales_cp
7c88884f63 Added full test sets for NetworkSessionProperties, PacketReader, PacketWriter and QualityOfService 2015-03-15 01:11:45 +01:00
SND\AstrorEnales_cp
b661bba5f3 Fixed a minor issue with the CurveKeyCollection 2015-03-15 01:11:44 +01:00
SND\AstrorEnales_cp
1aa7d3fe37 Added a test for comparison of all xna and anx enums and fixed some wrong enum basetypes 2015-03-15 01:11:44 +01:00
SND\AstrorEnales_cp
e74616755c - Added a full test set for the GameComponentCollection and fixed some bugs in the class
- Added Tests for PreparingDeviceSettingsEventArgs and GameComponentCollectionEventArgs
- Checked all tests for the Point, Vector2 and Rectangle class and set them to "Tested"
2015-03-15 01:11:43 +01:00
SND\AstrorEnales_cp
174fc74b4e - Added a full test set for the GameServiceContainer class
- Searched the svn log and replaced a lot of ??? Developer attributes with the real ones.
2015-03-15 01:11:42 +01:00
SND\AstrorEnales_cp
783a448db1 Fixed the CurveKeyCollection class so all CurveKeyCollection test are now passing! 2015-03-15 01:11:42 +01:00
SND\AstrorEnales_cp
646c2e5b79 - Fixed the Curve class Oscillate mode and all Curve tests are now passing!
- Added the missing Serializable attribute to the Curve class
- Added some more Development attributes
2015-03-15 01:11:41 +01:00
SND\AstrorEnales_cp
4fdad340d3 Fixed the StorageDevice and StorageContainer and native implementations 2015-03-15 01:11:40 +01:00
SND\AstrorEnales_cp
0b9acc40ee Finished the ANX.Framework side of EffectAnnotation, EffectParameter and EffectTechnique 2015-03-15 01:11:40 +01:00
SND\AstrorEnales_cp
f08d6ea189 Checked all files in the Graphics namespace and added the last missing status attributes 2015-03-15 01:11:39 +01:00
SND\AstrorEnales_cp
db82358d24 - Changed access modifiers in DisplayModeCollection to match Xna signature and fixed the usage of that class
- Implemented Properties of EffectParameter
- Fixed OutOfRange behaviour in multiple collection files in graphics to match xna behaviour (which just returns null)
- Implemented some methods in collection classes
2015-03-15 01:11:38 +01:00
SND\AstrorEnales_cp
085fb42ba6 Finished the BasicEffect Sample which tests all possible feature combinations of the Effect. 2015-03-15 01:11:38 +01:00
SND\AstrorEnales_cp
bff87410e9 Added some TestState and Percentage Attributes and implemented the Texture3DReader and the TextureCubeReader correctly 2015-03-15 01:11:37 +01:00
Glatzemann
5ac399a71d added lots of developer attributes 2015-03-15 01:11:36 +01:00
SND\AstrorEnales_cp
c0e2f85eae Added a lot of Developer attributes and added some colors to the OnlineStatusGenerator 2015-03-15 01:11:35 +01:00