Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Goombert

2686
After trying this several times with DirectX 10 and failing, I decided to give DX one more chance to be a part of our game engine, and it finally worked with DX9. The headers and libraries are distributed with MingW for DX9 so no need to install the Windows or DirectX SDK, if you are on Windows you will simply be able to switch it under API settings and use it. Now of course not all functions have been implemented, the implementation status is listed below. This will increase the compatibility of ENIGMA on native Windows platforms and for those people Micro$hit likes to screw over with bad OpenGL support.

So we are now looking particularly for Windows users to help implement the graphics functions for DirectX. There's a lot of functions to be done, varying in difficulty so people from all skill-levels should be able to help. I am going to be writing a ton of the code as well, your help is going to be appreciated.

Currently Implemented:
 Sprites: Full support
 Backgrounds: Full support
 Models: Full support
 Primitives: Full support
 Tiles: No Support
 Fog: Experimental Support
 Transformations: Almost full support
 Projections: Full support
 Views: Experimental Support
 Curves: No support
 Standard Draw: Almost full support
 Lighting: Experimental Support
 Shaders: Limited or Buggy support
 Text and Font: Full support
 Particle Effects: No support
 Surfaces: Almost full support
 Texture: Limited or Buggy support
 Blend Modes and Color: Full support
 Vertex Formats: No support

2687
Issues Help Desk / Re: Compile failed at C++ level.
« on: July 28, 2013, 01:21:49 PM »
Harri, SFML was picked by cheeseboy and then I wrote most of the class abstraction for him, he wanted it because OpenAL wouldn't cross compile correctly. To use SFML, just download, compile, and install it, or install a common Windows package if one exists for it, or else just find the dll and place it under SHELL/Additional I think is the folder on Windows.

Edit: I have just committed the OpenAL fix, it was simply a misplaced define when I merged common headers, please redownload and install ENIGMA or simply do a git update. Then audio should be working.

2688
General ENIGMA / Re: Scalar Types
« on: July 28, 2013, 01:19:41 PM »
Immediate mode functions only take float because they are obsolete, VBO's do take GLdouble, and it is less optimal because your model becomes 2x as much being sent to the GPU. Again, even if rendering on a planetary scale, and using double, I still think your doing something wrong.

2689
General ENIGMA / Doxygen Commenting Removed
« on: July 27, 2013, 07:07:07 PM »
This was the stupidest idea I had since I have been here. The original intention was to provide quicktips from an auto completion window in a new IDE and make our code more "friendly". In reality is just bloated the repository and made a mess of the source code, the Wiki is more thoroughly documented, can be run through an xml document processor for quicktips in an IDE, and also much better organized and where I want people focusing their attention.

2690
General ENIGMA / Re: Scalar Types
« on: July 27, 2013, 06:27:50 PM »
Scalar types have been mostly implemented to major systems. I have written a Wiki article explaining the new scalar parameters.
http://enigma-dev.org/docs/Wiki/Scalar

Collision systems, paths, and instance system should utilize cs_scalar or the collision system scalar.
Graphics systems, particles, and other rendering should utilize gs_scalar or the graphics system scalar.
Audio systems with sound positioning should utilize as_scalar or audio system scalar.

These make it very easy to switch the entire engine between double and floating point precision, increasing the portability of our code and reducing unnecessary casts. Everyone please do your best to implement them where necessary. We may also add a math_radii and graphics_radii for controling radius precision, but for angles we will stick to double because that is the C and C++ standard for functions of a circle.

2691
General ENIGMA / Half Pixel Alignment
« on: July 27, 2013, 06:16:10 PM »
If any of you have ever worked with SVG or other vector graphics then you know you need to do half pixel alignment. OpenGL and DirectX work the same way. If nobody noticed, there was a bug where drawing an outlined rectangle wouldn't fill the pixel in each of its 4 corners, that was due to half pixel alignment.

I resolved this by changing the orthographic projection code to offset by half pixels instead of full pixels.
Code: [Select]
glOrtho(x-1,x + width,y-1,y + height,0,1);
Should have been...
Code: [Select]
glOrtho(x-0.5,x + width,y-0.5,y + height,0,1);

Anyway I am committing the fix soon and 2D stuff will no longer be misaligned or have edge artifacts. This was just a friendly reminder to everyone. Also be aware that DirectX9 eclusively has a half texel bug regarding sampling which must be resolved in a shader.

2692
Teamwork / Re: Looking for well rounded programmer
« on: July 27, 2013, 03:28:25 PM »
AsherOS, it runs GML almost exactly the same, there are a few anomalies and bugs with the current compiler, we are waiting on Josh to finish template standardization and write a pretty printer, which won't be much longer, then we will have 100% GML compatibility and C++ compatibility, EDL is a hybrid language. We will also at that time begin working on Android and HTML5/JavaScript and other export targets.

2693
General ENIGMA / Re: Scalar Types
« on: July 27, 2013, 01:40:58 PM »
Coordinate space, x, y, z, for graphics and audio functions don't use the collision system scalar.

2694
General ENIGMA / Re: 3D Particle Effects
« on: July 26, 2013, 04:16:34 PM »
Okee dokee forthevin, I have much to do as well including implementing scalar types for double and floating point precision.

2695
General ENIGMA / Re: Scalar Types
« on: July 26, 2013, 03:34:38 PM »
That is what I am planning Harri, cs_scalar, gs_scalar, but the question I am pondering on is whether to make a generic scalar and then a separate one purely for coordinate space.

2696
General ENIGMA / 3D Particle Effects
« on: July 26, 2013, 03:21:37 PM »
Yes hello, hai, this is something I have definitely been planning on adding the particle effects extension. It should be relatively easy to abstract into handling 3D particles without much changing. I do not know how Game Makers particles exactly work however as I never used them before because I tend to make 3D games. Forthevin, I don't know if you maybe want to take a crack at it, if so let me know, otherwise I am going to eventually do it myself. :P

2697
Off-Topic / YoYoGames Compiler for 300$
« on: July 26, 2013, 02:40:04 PM »
Well they had everyone fooled thinking it was going to be the 1.2 update, but apparantly you have to pay 300$ to get it as a module, but if you have already paid more than 499$ then you get it for free, or in other words if you have Master.
http://gmc.yoyogames.com/index.php?showtopic=588680
This is commercial suicide for them....

2698
General ENIGMA / Scalar Types
« on: July 26, 2013, 02:13:24 PM »
Well I was doing some thinking after converting graphics systems to use float precision. Now Box2D has a built in scalar type that can be used to switch the precision at runtime between double and float. I was wondering if it would make sense for us to do this for graphics and collision systems by providing a built in scalar type for ENIGMA. Josh, forthevin, Harri, what you guys think?

2699
General ENIGMA / Re: Graphics Systems Precision
« on: July 26, 2013, 01:52:15 PM »
Finished, tested, and ready to be merged.
https://github.com/enigma-dev/enigma-dev/pull/267

2700
General ENIGMA / Re: Graphics Systems Precision
« on: July 25, 2013, 12:39:51 PM »
Harriy, I can do it, I am very good at the monotonous kind of work :P