Asset - Extension Graphics Utilities (extending GameMaker's graphics library)

Dragon47

Member



Download demo: http://www.mediafire...s Utilities.exe

Marketplace link: https://goo.gl/p3fErz

GameMaker's library of graphics functions has its limits. Fundamental things like blend modes, surfaces and shaders are far from fully customizable. Graphics Utilities can give you access to some of the most powerful missing functionality, giving you the building blocks for some of the greatest graphics applications you can think of!

Graphics Utilities uses a DLL based on Direct3D 9. The C++ source code is included.

Features:
  • 32 scripts (see the preview on the marketplace for the names of these).
  • Commented and organized code, with 8 examples.
  • Creation of surfaces with other texture formats than the normal 8-bit RGBA. (Will create surfaces that are not compatible with normal GameMaker surface functions.)
  • Blend mode operators: Add, subtract, reverse subtract, min and max.
  • Alpha separation for blend modes. Let's you have a different source and destination factor for the alpha channel's blending.
  • Vertex texture fetching with surface textures. A great building block for things like terrain, realistic water, grass and fast particle systems.
  • Point sprites. If you have a vertex buffer of points, all the points can be turned into square sprites of different sizes facing the camera.
  • Shader creation from strings. Lets you create and compile shaders during runtime. (Will create shader resources that are separate from normal GameMaker shaders.)
  • Scissor rectangle. Lets you specify a rectangle on screen to restrict drawing to.
  • User clip planes. Lets you specify several planes where drawing is restricted to one side of the plane.
  • Cube surfaces.
  • As mentioned above, C++ source code is included.
Note: The extension has a lot of functionality. There's a high chance you'll find a bug. If you find a bug, you can send a mail to [email protected]. Note also that since the extension uses a DLL, it will not work with all export modules.

Screenshots:
















 

Dragon47

Member
All of the screenshots show up as dead links for me.
Not for me, maybe my browser have them cached or something.
Thanks for making me aware.

Edit: A friend of me tried loading the page, and it's working for him. I'm not sure why it's not working for you.
 
Last edited:
E

elementbound

Guest
Judging by the features, this is absolutely amazing. It fills some pretty big holes GM's 3D lacks.
I'm not really keen on buying extensions because I'm mostly a do-it-yourself guy, but I'll definitely be keeping an eye out on this one.
 
C

Catastrophe

Guest
Heya, we're interested in this asset, and wanted to ask a question about the scissors rectangle before buying it. Basically we're making a game like FTL and wanted to have some implied "distance" between two ships separated by a line in the center. So when you shoot across it, the bullet would disappear going across the line, and then come in at a random angle. We could do this in Unity by just making a sprite_mask for each half of the map and only rendering the appropriate bullet layers. I think we can also accomplish this with two cameras in GMS, but I'd prefer not going that route. If the scissors rectangle is like the sprite_mask in Unity, that would be super useful.

Edit: Ooof, GMS 1 only. :(
 

Dragon47

Member
Heya, we're interested in this asset, and wanted to ask a question about the scissors rectangle before buying it. Basically we're making a game like FTL and wanted to have some implied "distance" between two ships separated by a line in the center. So when you shoot across it, the bullet would disappear going across the line, and then come in at a random angle. We could do this in Unity by just making a sprite_mask for each half of the map and only rendering the appropriate bullet layers. I think we can also accomplish this with two cameras in GMS, but I'd prefer not going that route. If the scissors rectangle is like the sprite_mask in Unity, that would be super useful.

Edit: Ooof, GMS 1 only. :(
The scissor rectangle is not really a mask. It just discards whatever is outside the specified rectangle while drawing.
 

GamerXP

Member
Hello, few questions.
1. How exactly vertex texture fetching works with surfaces? Can it work directly with surface that is updates each frame, or it does some slow workaround?
2. Does texture fetching works with GMS2?
 

Dragon47

Member
Hello, few questions.
1. How exactly vertex texture fetching works with surfaces? Can it work directly with surface that is updates each frame, or it does some slow workaround?
2. Does texture fetching works with GMS2?
Hey!
1. Long time since I looked at this, so I don't remember the implementation well, but I know it can work with a surface that updates each frame because example 0 in the demo does it. The description in that example explains some controls for manipulating the surface texture that the 3D geometry is based on, and then you can see that surface texture in the top left corner change.
2. I have a strong feeling it won't work, but I don't think I've tested it. The asset was made a long time ago, and for GMS 1.
 
Top