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

General ENIGMA / Re: DirectX Image formats and Fonts
« on: July 30, 2013, 04:13:48 pm »
No, Josh, DirectX does not have the format available for RGBA only ARGB or RGB, please see the Microsoft documentation...

And I was not suggesting throwing out fonts altogether, I was just wondering if we wanted to abstract it to make use of some of these nice features of the API. Now what I meant with sprites and backgrounds is that DX provides a sprite drawing class, which I could just as easily use for the background functions, that is what the last link was about...

General ENIGMA / DirectX Image formats and Fonts
« on: July 29, 2013, 09:15:06 pm »
Ok well this something we need to discuss.  ENIGMA has its own code for loading various image formats, but Direct3D has a S*** TON of built in formats supported...

".. the following file formats: .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm, and .tga"

DirectX also has internal classes for dealing with fonts, you can simply request them by name and tell it to render, it takes like 5 lines of code...
You can also ask it to build a mesh from font numerics and it will do so.

So this begs the question as to what to do about our fontstruct as it obviously needs moved so that its not included in our DX system when it doesn't need to be.

DirectX also provides internal classes for drawing sprites and batching them...

Now this also leads to another thing as to whether or not we want to use those sprite functions for backgrounds as well. Not to mention in GameMaker sometimes people will apply transformations to text and sprite drawing functions to use them as 3D billboards. I would like some input from you guys Harri, forthevin, Josh.


I have managed to get texture loading and draw_sprite implemented...

As you can see there is a tad bit of a problem, DX uses ARGB, ENIGMA loads textures into RGBA :( You can tell by the sprites pixel color being off.

Off-Topic / Re: YoYoGames Compiler for 300$
« on: July 29, 2013, 07:06:04 pm »
Yes, agreed senior forthevin, I have been saying this for some time, it also appears to go like a pyramid scheme with them. Remember way back in the day when the Sandbox got flooded with new users buying game maker? There were games everywhere, by the thousands, and then all of the sudden its userbase started drastically declining, that's when they decided to start with Studio going in a whole new direction, to convince customers to come back. Nobody wants to pay 800$ for buggy software that teaches them bad programming habits, my god most of what YYG added was just open source stuff like Box2D duct tapped into Game Maker, and they can't even do that well.

Proposals / Re: Vertex color
« on: July 29, 2013, 07:03:27 pm »
Actually son of a bitch, I never thought about this, yeah I know what you mean now Harri, I was wondering the same thing for multiple texture coordinates with my OpenGL3 mesh class, because we also need to expand on the base model API from game maker to support multitexturing and material surfaces anyway. Now another thing, with Studio adding shaders they are also adding vertex specification functions that allow you to define a custom spec and send it to the shader, idk much about it yet, but its on their technical blog, we need to read up on that some as well.

And Harri, halp me with DX ~ :)

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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