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.


Topics - Goombert

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 »
182
General ENIGMA / Interpolate Colors Between Pixels
« on: September 07, 2013, 09:17:59 PM »
This is the fucked up most god damn son of a bitch of an option ever.

Quote
Interpolate Colors Between Pixels - Turns on interpolation, which basically "smooths" pixels. for crisp pixel graphics, it should be off, but if you have nice alpha blends and smoothed edge graphics it is better left on.

So basically, it is the equivalent of texture_set_interpolation(true); and is used to smoothly scale sprites and shit, but *ahem* can cause things to look blurry. Basically anyone who would say that doesn't understand the actual operation the sampler performs.

At any rate, this is where the texture options for sprites and backgrounds come into play in Studio, the Tile: Vertically/Horizontally options control UV wrapping but not W.
Basically that lets you use texture_set_interpolation(true); on a draw_sprite(); call without the problem of the sampler interpolation nearby pixels from other textures causing planar edge artifacts.

Quote
Force Software Vertex Processing - This forces GameMaker:Studio to use the CPU for all graphics and is only recommended if there are compatibility issues with older machines.

I will implement that, but I am also going to implement the function, that option is specific to Direct3D under the Windows tab in Studio.

183
General ENIGMA / A Few Good Bugs
« on: September 01, 2013, 05:31:25 AM »
Just to update you guys on a few things.

I fixed why the plugin was not rebuilding the compiler, it was actually me delaying the thread for double clicking gmks and gmx, I have fixed it all properly and added the ability for EGM's to be double clicked now as well, so that is all good. Get the new JARs from LGM topic or redownload and extract the portable ZIP.

I have also fixed the issue with the output_log.txt growing to immense sizes, simply merge this commit...
https://github.com/enigma-dev/enigma-dev/pull/378
And it will no longer append to the file, but overwrite it. Rebuild the exe yourself, or again, get the new portable ZIP.

This also fixes why old EGM's wouldn't add a Shaders resource group.


184
General ENIGMA / Shaders
« on: August 29, 2013, 06:16:48 AM »
I rewrote all of ENIGMA's model batching last night to do some kickass batching. OpenGL 1 now uses this class and OGL 1.0 support is dropped minimum is now 1.1, as those have vertex arrays allowing me to use the same class and not be forced to use call lists which are slow as dog shit and bloat the ram they can't even handle big models. Anyway, I have programmed model batching not even that efficiently and it still whomps Game Makers ass using the fixed function pipeline.

The commit I am working on is available on Git, but I am not quite ready for it to be merged, when it is your games with models should have a huge performance increase.
https://github.com/enigma-dev/enigma-dev/pull/374

ENIGMA OpenGL 1
Ram Usage: 135,000 K
FPS: 25

GameMaker: Studio
Ram Usage: 180,000 K
FPS: 240ish

ENIGMA Direct3D 9.0
Ram Usage: 137,000 K
FPS: 260ish

ENIGMA OpenGL 3
Ram Usage: 59,000 K
FPS: 320ish

OpenGL 3 kicks studio's ass by a whopping 100 frames per second on their own fucking demo...


GameMaker: Studio sucks donkey dick, slower than a fuckin snail...


Direct3D 9.0 is a really shitty graphics API but still beats Studio a little bit...


OpenGL 1 graphics are still slow but at least thanks to my new batching they can handle some models without killing over and bloating the ram.


The memory usage of OpenGL 1 running their demo was almost half of what Stupido was using...


Direct3D 9.0 is really out of date, and too bloaty of an API...


I wish this software would die a miserable death...


OpenGL 3 uses 1/4th the ram Stupido does...


And the first one now, will later be last....

185
Tips, Tutorials, Examples / Example Shaders
« on: August 28, 2013, 05:36:08 AM »
This topic is a collection of various shaders that can be used in your game. You are free to use them and can also post your own in this topic.

Cartoon Shader


Language: GLSL

Vertex Shader
Code: (glSlang) [Select]
varying vec3 normal;

void main()
{
        normal = gl_NormalMatrix * gl_Normal;
        gl_Position = ftransform();
}

Fragment Shader
Code: (glSlang) [Select]
varying vec3 normal;

void main()
{
        float intensity;
        vec4 color;
        vec3 n = normalize(normal);
        intensity = dot(vec3(gl_LightSource[0].position),n);

        if (intensity > 0.95)
                color = vec4(1.0,0.5,0.5,1.0);
        else if (intensity > 0.5)
                color = vec4(0.6,0.3,0.3,1.0);
        else if (intensity > 0.25)
                color = vec4(0.4,0.2,0.2,1.0);
        else
                color = vec4(0.2,0.1,0.1,1.0);
        gl_FragColor = color;
}

Perpixel


Language: GLSL

Vertex Shader
Code: (glSlang) [Select]
void main()
{
        vec3 normal, lightDir;
        vec4 diffuse, ambient, globalAmbient;
        float NdotL;
               
        normal = normalize(gl_NormalMatrix * gl_Normal);
        lightDir = normalize(vec3(gl_LightSource[0].position));
        NdotL = max(dot(normal, lightDir), 0.0);
        diffuse = gl_FrontMaterial.diffuse * gl_LightSource[0].diffuse;
               
        /* Compute the ambient and globalAmbient terms */
        ambient = gl_FrontMaterial.ambient * gl_LightSource[0].ambient;
        globalAmbient = gl_LightModel.ambient * gl_FrontMaterial.ambient;
               
        gl_FrontColor =  NdotL * diffuse + globalAmbient + ambient;
               
        gl_Position = ftransform();
}

Fragment Shader
Code: (glSlang) [Select]
void main()
{
        gl_FragColor = gl_Color;
}

186
ALLCAPS BOARD / Once in a Lifetime
« on: August 28, 2013, 04:46:03 AM »

187
General ENIGMA / Everything Is Good Now
« on: August 28, 2013, 04:10:24 AM »
I believe the issues with the executable have been resolved, it is now working for me again, Harri, polygonz, and frogg. So let's just not mess with the exe quite some time, the only thing it needs is automatic updates to download binaries, I will finish it myself at a later point in time.

Polygonz, please try not to do shit like remove glewInit() from OpenGL 1, like seriously, do you even think before you commit anything?

This is the kind of responses we end up getting on our Facebook as a result...
Quote
Yeah... Its crashed on first run for me... I will send bug report next weekend
Quote
Janko Knez I suggest you focus on the bugs first, then add features.

We need to at least try not to break EVERYTHING all at one time ;_;

188
Announcements / Shader Resources
« on: August 27, 2013, 04:31:04 AM »
Shaders are now available as a resource and can be used. They are compatible with Game Maker's and can currently only be saved and loaded under EGM, GMK does not support them. GMX format will be finished soon enough I have a lot on my plate.



Youtube Video: https://youtu.be/cZixbLHaroI

WARNING! You have to update in order to use them, and you must update both LateralGM, the plugin, and ENIGMA using git in order to use them, if you update only one of these then the others will break. If you have installed using the Windows ENIGMA Portable you are advised to redownload as bug fixes have been applied to those of you with MinGW issues and it also now contains an ini settings file to control checking for java and other things. Automatic updating will be available at a later point in time.

The shader functions are all documented and available on the Wiki.
https://enigma-dev.org/docs/Wiki/Shader_Functions

Currently only GLSL shaders are supported, but the function API is tailored for glsl programming and can currently only be used in OpenGL. The Game Maker version of the functions are simply wrapped around each graphics systems implementation so that there can exist an API which caters to only one shading language. These shaders can greatly help improve the performance of your games by offloading strenuous work onto the GPU where they properly belong, unlike Game Maker we also provide you the option to dynamically compile and link shaders at runtime as shaders are properly intended and encouraged by hardware manufacturers to be used.

The new cubes demonstration can be downloaded here, the one on the EDC is currently out of date and will not run. You should run the demo in OpenGL 3 graphics system.
Size: 8.19 MB's
https://www.dropbox.com/s/3ogjo87gzypirsk/perftester.egm

There is a nice website for scripting and seeing real time results of shaders as well, they also have many example shaders.
http://www.kickjs.org/example/shader_editor/shader_editor.html#

There is the GLSL sandbox as well which I thought was very cool.
http://glsl.heroku.com/

189
General ENIGMA / GMK 820 Will Not Be Supported
« on: August 25, 2013, 03:30:55 AM »
I have made the definitive choice to never support GMK 820, why? Because it does not even properly version itself. GMK 820's are GMK's exported from GayMaka: Stupido that version themselves as 810 but remove settings such as F4 for fullscreen and other options, and without the proper format version, it is impossible for me to tell whether or not to skip these bytes when reading the GMK.

To be honest, I am surprised at all anyone was even able to load these GMK's into GM81 exported from Studio. Studio is exporting crazy corrupt GMK's this way, and no comprehensive GMK reader would be able to read Studio's files. I would not export your games from Studio that way, they did just drop this feature too, and from what I can tell it was very buggy.

But anyway, in this screenshot you can see me looking at a GMK in a binary file viewer to check the version number, the version number is the second set of 4 bytes inside the file, but it also recurs throughout GMK.

See, look at the last part of the file is the resource tree...


The GMK format was horrible, that is why YoYoGames switched to an XML based format, GMX. So I will just finish my GMX reader and everybody can just be happy, GMK 820 isn't needed anyway when I finish GMX it will be able to export to any version of GMK specified.

190
General ENIGMA / Executable Icon and Description on Windows
« on: August 21, 2013, 12:50:56 PM »
I have managed to get exe info and an icon onto executables by simply creating a resource.rc and resource.h under Win32 and linking the rc file from the Win32 makefile. Now the only problem is I need to obtain EnigmaStruct with GameSettings in resource.rc for it to know what values to give the exe.

Should I move this to the compiler source and have compileEGMf write the resource.rc file itself to Preprocessor_Environment_Editable and then link it in?

Joshfag, halp ~

UPDATE: I have now got it working, compile.cpp when it writes modes and settings now writes the exe and icon info to a Resources.rc in Preprocessor_Environment_Editable which is later linked from the SHELL/Makefile


I just need to know if this is how it should be done and if it is ok if I commit it like this, and should I include guard this to only do it when your on Windows, etc. Joshfag, answer me back ~

PS: Also I did not use Studio's icon that is the one packed into the GMK file and passed to EnigmaStruct

191
General ENIGMA / Java Plugin Freezing Explanation
« on: August 14, 2013, 10:56:11 PM »
I just want to explain to everyone, why it is that some of you may have had problems with the plugin freezing while loading.

I have currently been building the newest LateralGM jars targeting Java 7. When I made this change several months ago, the compilation speeds of LateralGM and its general performance drastically improved. But a new issue arose.

You see we use JNA which is a noobs wrapper to JNI for goobers too lazy to do shit themselves. JNA is used for native callbacks to our compiler library, or compileEGMf, extension may vary depending on platform. This means when I have been compiling LGM for 1.7 the boobs on 1.6 and 1.5 have been running into a freeze at plugin loading, for whatever reason, by they a macfag on an OS that can't even handle running the correct Java version, and no I don't mean PowerPC's, I mean MacOS Lion, gregfags computer.

I will from now on target Java 6 when compiling LGM, but no lower, as I do not want to force the slow lagginess of Java 5 back onto everyone.

192
General ENIGMA / GMX Support
« on: August 13, 2013, 09:58:13 PM »
Just a little side note to everyone, I am implementing GMX support to LateralGM, you will be able to save and load Game Maker Studio projects in a few days...


However, some options may be cleared, this feature in LGM is really only for downgrading your project to GMK. My documentation of the format can also be found on the Wiki.
http://enigma-dev.org/docs/Wiki/GMX_Format

193
Well, threads in Java and C++ don't have any insta-kill call that you can just kill a thread like a process from task manager. I am thinking compileEGMf should be added a compileEGMfStop, as pausing and resuming the thread can easily be done from the plugin and it should work like game_end but then the only thing is the stop button won't do anything while you are in the middle of compiling. there is just no effective way to kill the thread. I am assuming compileEGMf is also what should implement the setWorkingDirectory callback. Just looking for some input here Josh.

194
General ENIGMA / Proper working directory and output messages
« on: August 09, 2013, 03:02:00 PM »
You decide.

195
General ENIGMA / Game Maker 8.1 uses half the ram ENIGMA does
« on: August 08, 2013, 01:58:39 PM »

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 »