180 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
6f1b068bf5 Migrated WpfEditor, fixed disposing of State objects and added Debug names to the state objects.
The WpfEditor doesn't create a new device anymore every time it receives
focus.
StateObjects get recreated if the used device changes and they get
disposed if the parent GraphicsDevice gets disposed.
2015-10-18 14:31:08 +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
fbb02e6d5b Fix wrong DX10 and DX11 buffer check. Migrated TextRendering and VertexIndexBuffer 2015-10-15 23:45:22 +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
a8588a30a5 Update ContentCompiler, make Visual Studio Extension work without having Anx Framework installed.
Make ContentCompilerGui compatible to recent changes in pipeline and did
some usability changes.
Make the Visual Studio Extension work even if the ANX Framework is not
installed additionally..
Improve that the path for assembly refernces in a content project
doesn't get automatically updated, only if the reference is actually
saved, this is so you can specify a relative path yourself.
Fix missing icon for ContentProject when it was opened with Visual
Studio.
Made create_shaders.bat directly executable under windows by fixing the
directory separators.
2015-09-03 23:43:55 +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
Konstantin Koch
d0e7e39f2e removed an unnecessary SupportedPlatformsImpl class. 2015-03-15 01:14:46 +01:00
Konstantin Koch
930b2526f7 made the WindowsGame example work again with all available rendersystems.
Also made the recording inputsystem not selectable for that sample as that needs some code modification in the sample to make it work.
It was not possible to run it with openGL because the creation of the windowInfo object was faulty, it might have worked on linux, but it didn't work on windows.
Also updated a few deprecated calls for OpenGL.
Closing an OpenGL application did wrongly throw an exception when an effect gets disposed, this is fixed now and the memory usage was slightly reduced.
For DirectX 11, which didn't work for the samples out of the box, it was changed that the sharpdx effect dll's are now part of the directx 11 rendersystem so that they don't have to be copied over manually anymore.
Did some very small change to the RecordingGamePad class which makes it work if no data is recorded or played back.
2015-03-15 01:14:25 +01:00
Konstantin Koch
a7fb23b599 Implemented GetData and SetData for Metro Rendersystem too. Together with commit 32081, this implements patch 15996. 2015-03-15 01:13:39 +01:00
Konstantin Koch
252e337375 Made GetData for VertexBuffer and IndexBuffer work for DirectX10 and DirectX11. Also added a few parameter checks. 2015-03-15 01:13:38 +01:00
Glatzemann
2376d4c491 - added NuGet nuspec files for creating ANX-Packages
- fixed Release path in GL3 RenderSystem
2015-03-15 01:13:28 +01:00
Glatzemann
ef034c0cb8 updated ANX.RenderSystem.GL3 to use NuGet for OpenTK dependencies 2015-03-15 01:13:27 +01:00
Glatzemann
1f1055e66f updated ANX.RenderSystem.Windows.DX11 to use NuGet for SharpDX dependencies
updated ANX.RenderSystem.Windows.DX11 to compile with SharpDX 2.4.2
2015-03-15 01:13:26 +01:00
Glatzemann
aa75274bab updated ANX.RenderSystem.Windows.DX10 to use NuGet for SharpDX dependencies 2015-03-15 01:13:25 +01:00
Glatzemann
37075c7e90 added "CurrentDisplayMode" of DefaultAdapter for GL3, DX10 and DX11 (issue #1194) 2015-03-15 01:12:51 +01:00
Glatzemann
076f3c4fa1 applied patch #13676 by clcrutch 2015-03-15 01:12:48 +01:00
Glatzemann
f4ad054470 fixed some minor issues caused by the update to SharpDX 2.4.1 2015-03-15 01:12:46 +01:00
Glatzemann
4096a16846 some minor GL3 RenderSystem tweaking 2015-03-15 01:12:23 +01:00
Glatzemann
b188b24a30 - improved exception handling in RenderSystem DX10
- added visual studio extension to build script
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
a5f4931578 fixed issue #1082 (SpriteFont UTF8 issue) 2015-03-15 01:12:10 +01:00
Glatzemann
5b871f27fa - added InputSystems to Windows 8 / Metro build (main build script)
- fixed some compile errors in XAudio SoundSystem when building for Windows 8 / Metro
- updated ProjectConverter to remove OggVorbis assemblies from project references when building for Windows 8 / Metro
2015-03-15 01:12:09 +01:00
Glatzemann
786934191d Updated StockShaderCodeGenerator and EffectProcessor to support DX11 stock shaders (wrong profile was used while compiling). 2015-03-15 01:12:08 +01:00
Glatzemann
6e01932070 fixed some Windows 8 (non ModernUI mode) issues:
- made DX10 RenderSystem available
- fixed adapter enumeration in DX10 and DX11 RenderSystems
- fixed GamePad initialization error handling on Windows 8 when XInput 1.3 is not installed
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
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
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
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
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
52b87d1459 Fixed some IsSupported properties for Metro and fixed the normal ANX.InputDevices.Windows.ModernUI csproj file to be "openable" under normal windows and converted it to metro 2015-03-15 01:11:28 +01:00
SND\AstrorEnales_cp
0d25ca7589 - Added OggUtils Support project by making use of the csogg and csvorbis projects
- Implemented native Song playback in OpenAL and XAudio2
- Some tweaks in the MediaPlayer and MediaQueue
- Added a testmusic.ogg file to the media folder
2015-03-15 01:11:27 +01:00
Glatzemann
e5ac8228ca some more build tweaking for Windows 8 2015-03-15 01:11:26 +01:00
Glatzemann
808e63f45a - some more tweaking in build script for Windows 8
- Platform no makes a difference for Windows8 and Windows8ModernUI
2015-03-15 01:11:22 +01:00
Glatzemann
188bda28a5 - added new sample "SimpleNoContent" to test some things on Windows 8 without ContentPipeline
- tweaked the build-script for better support on Windows 8
- fixed bug #1016 (with a workaround. new issue will follow)
- fixed some render system issues on Windows 8
2015-03-15 01:11:22 +01:00
Glatzemann
41061f8b12 - implemented feature #1026 ("Implement EffectParameter.Semantic")
- fixed issue #583 ("BoundingFrustum corners wrong")
2015-03-15 01:11:19 +01:00
SND\AstrorEnales_cp
ef734ddcd3 Implemented the MediaPlayer and MediaQueue classes as preparation for native Song playback.
Also added the FrameworkDispatcher calls in the Game class.
Checking for possible fire and forget sound instances to be disposed in the FrameworkDispatcher update chain.
2015-03-15 01:11:17 +01:00
Glatzemann
3d7ad3ae8f fixed issue #1023 (MultiRenderTarget not working) for DX10 and DX11 RenderSystems 2015-03-15 01:11:15 +01:00
SND\AstrorEnales_cp
18152ade3e Implemented Feature #1010 by replacing the MsBuild sln-Parsing with our own parser which
enables us to run the project converter on linux. Updated all projects via ProjectConverter.
2015-03-15 01:11:14 +01:00
Glatzemann
61ba3497f2 - some work on Texture2DWriter (not finished yet)
- fixed issue #1021 (RenderTarget issue with SpriteBatch)
2015-03-15 01:11:13 +01:00
Glatzemann
94e34228aa added WinRT target to the build file (this will call the metro target with ARM-CPU-Support switched on) 2015-03-15 01:11:11 +01:00
Glatzemann
d8c0b96121 - finished sample Primitives (codeplesx issue #531). Problem was a semantic issue in shader. For DX10 and DX11 you have to change POSITION0 o SV_POSITION.
- removed a unnecessary Unmap call after initialing the VertexBffer in DX10 RenderSystem
2015-03-15 01:11:09 +01:00
Glatzemann
3d5b24d6f6 Fixed issue #1015 (GetData method of vertex buffer). See VertexIndexBuffer sample for a proof of concept (search for GetData in Game1) 2015-03-15 01:11:09 +01:00
Glatzemann
41f26acf5b fixed issue #1019 in DX10 and DX11 RenderSystems 2015-03-15 01:11:08 +01:00
SND\eagleeyestudios_cp
900f5e5dc2 - Fixed missing Reference in GL3 RenderSystem
- Fixed some Content Compiler platform reference issues
2015-03-15 01:11:07 +01:00
Glatzemann
a56b7042fc fixed a build issue in GraphicsDeviceWindowsMetro 2015-03-15 01:11:04 +01:00