112 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
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
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\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
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
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
3e65589f23 Working on native DynamicSoundEffectInstance implementation in XAudio and OpenAL 2015-03-15 01:11:31 +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
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
SND\AstrorEnales_cp
6f759ae509 Build a small tool to check all ANX classes about their Development attributes and generate an html report.
Added Development attributes to all PackedVector classes and Audio classes.
2015-03-15 01:11:20 +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
d4cce42aa8 Implemented the Framework side of DynamicSoundEffectInstance (still needs native implementation) 2015-03-15 01:11:18 +01:00
SND\AstrorEnales_cp
3bf2261cd0 Finished Task #539 and implemented some VideoPlayer logic 2015-03-15 01:11:18 +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
SND\rene87_cp
ab91d83a1b Fix a bug under Windows8 ModernUI 2015-03-15 01:11:08 +01:00
Glatzemann
41f26acf5b fixed issue #1019 in DX10 and DX11 RenderSystems 2015-03-15 01:11:08 +01:00
SND\rene87_cp
d85cee1a43 delete SoundSystems/ANX.SoundSystem.Windows.ModernUI 2015-03-15 01:11:07 +01:00
SND\rene87_cp
6ea62b97ff Add Body of the ModernUI SoundSystem 2015-03-15 01:11:06 +01:00
SND\rene87_cp
31bbd65ca0 First usable Version of Windows ModernUI InputSystem
Mouse and GamePad
2015-03-15 01:11:05 +01:00
Glatzemann
0c98c29886 Worked on issue #531. Primitives sample is now much more complete. The instanced primitives are looking much better in PIX now, but still not rendering. 2015-03-15 01:11:01 +01:00
Glatzemann
825ed2b10c - fixed a issue with DrawIndexedPrimitives in DX10, DX11 and DX11.1 RenderSystems. (part of issue #531) 2015-03-15 01:11:00 +01:00
Glatzemann
81bcc22032 - fixed a lot of issues in build script: most of metro building on Windows 8 is now working
- fixed PlatformSystem.Metro (untested)
- fixed project files of ANX.InputDevices.Windows.ModernUI
- fixed a small issue in ANX.Framework's generic PlatformSystem implementation
2015-03-15 01:10:55 +01:00
Glatzemann
933ef7cae6 - extended ContentPipeline ProcessorManager with method to select a default processor for a importer or imported type
- extended ContentImporter to provide OutputType of imported content
- provided a list of available ContentProcessors in current context

PlatformSystems are no longer AddIns. This doesn't mean, that you can't load them dynamically. The handling is just different. There's only a single PlatformSystem available for each platform ANX runs on. This one is auto loaded. If it doesn't exist the game doesn't run. The reason for this is, that we will move the AddIn system from ANX.Framework to the specialized PlatformSystem. This is necessary because we want ANX.Framework to become platform independent. The AddIn system is different for some platforms (Android, iOS, Windows 8 Metro) and needs to be specialized. On the other hand we are able to simplify the AddIn system when moving it to the PlatformSystem because we don't need a big AddIn system supporting all platforms with much conditional compiling.

THIS COMMIT DOES BREAK SOME FUNCTIONALITY. METRO DOESN'T WORK ANYMORE, AS IT IS NOT TESTED. DON'T USE THIS COMMIT IF YOU ARE NO ANX.FRAMEWORK DEVELOPER. We will catch up soon with a tested and working version.
2015-03-15 01:10:54 +01:00
Glatzemann
e51a8943aa - fixed an issue in build script. The rendersystems are now compiled three times. This is not nice but necessary at the moment (see comments in build script for further information)
- fixed some casing in AddInSystemFactory
- some minor improvements in AddInSystemFactory and AddInTypeCollection
- fixed WindowsGame sample (AddIn-Selection)
2015-03-15 01:10:54 +01:00
SND\AstrorEnales_cp
7350ca3d3a - Implemented the SkinnedEffect class (not tested yet, sample will come soon)
- Optimizations in the SpriteBatch and SpriteFont classes
2012-09-11 13:51:20 +00:00
SND\AstrorEnales_cp
0fc4409e58 - Fixed the Texture2DReader to correctly fill the texture with the mipmaps
- Implemented Mipmap textures for Dx10, Dx11, GL3. Metro is implemented but has still some problems with mipmaps (probably cause of the vm)
- Added Sample dds texture
- Fixed compiler error in MetroGameTimer
2012-09-08 09:07:23 +00:00
SND\AstrorEnales_cp
3316d46dba - Implemented some GetData methods in the Vertex and Index Buffer implementations
- Added developer, PercentageComplete and TestState attributes
- Added Event to the FrameworkDispatcher which will be used by the components that need it (audio etc.)
- Some more refactorings, regions, etc.
2012-09-04 21:36:46 +00:00
SND\AstrorEnales_cp
28f3010330 Added IOcclusionQuery interface and implemented the base OcclusionQuery class and the GL3 implementation. 2012-09-03 21:54:12 +00:00
SND\AstrorEnales_cp
379a1bc50e Some refactorings in the Input namespace and added PercentageComplete and TestState attributes to most classes 2012-09-01 16:20:44 +00:00
Glatzemann
55fac0cc5a - refactored and fixed game timing and timers (bug #988)
- minor updates in ModelSample
- added new media file: ANX Logo mesh (vertex colors, FBX-Format)
2012-09-01 11:20:05 +00:00
SND\AstrorEnales_cp
2745521141 Refactored the XInput FormatConverter and unknown keys are now ignored instead of throwing NotImplementedException 2012-08-31 16:02:52 +00:00
Glatzemann
778f52b4a1 fixed issue #989 2012-08-30 16:38:23 +00:00
SND\AstrorEnales_cp
4e3ae6867b Fixed logging in AddInSystemFactory 2012-08-30 14:11:31 +00:00
SND\AstrorEnales_cp
845d8ec716 - Further implemented the Dispose chain which now prevents the OpenGL gd from leaking (still some work required)
- Logging OpenGL version on Device Reset with GL3 RenderSystem
2012-08-30 12:05:40 +00:00
SND\AstrorEnales_cp
4ec1977383 - Fixed compile errors in the AddInSystem under Metro
- Added OpenAL libraries
- Updated solutions and projects
2012-08-30 09:28:02 +00:00
Glatzemann
aa75450b34 - added samples to build file
- improved error handling and logging during AddIn loading
2012-08-29 18:29:57 +00:00
Glatzemann
1f45cd9038 - added Developer-Attribute for tagging classes responsibility
- added a bunch of Completion- and Developer-Tags
2012-08-29 13:14:00 +00:00
Glatzemann
c04709e3b4 - Fixed a bug when closing the RenderWindow. Rendering wasn't stopped immediately when the window starts to close. This was a problem when using OpenGL RenderSystem because it crashed. (Thanks Kevin)
- Fixed an issue with shader language in SpriteBatch
2012-08-29 12:11:03 +00:00
Glatzemann
de0232177e XNAEXT: added a ConstantBuffer class and interfaces to the RenderSystem. Everything compiles fine but the RenderSystem does not create unmanaged buffers because it needs to be implemented. 2012-08-29 10:48:21 +00:00
Glatzemann
7eb3e5241e - prepared ContentPipeline to load EffectFiles for the different TargetProfile's. Currently HLSL_FX is working fine and GLSL_FX is prepared (needs testing).
- ContentPipeline effects now have a EffectSourceLanguage parameter
2012-08-27 18:42:54 +00:00