Joe Ellis
Member
Hi everyone, I've started this thread as a way for people to share and discuss dll's they've made with everyone. I started the thread a couple of weeks ago to share my anisotropic filtering and external texture loader dll, but I've changed the title as I wanted it to be a more general thread where everyone can share dll's they've made. So here it is!
If you have a dll you want to share(as long as it's for gm), feel free to do so here, by either posting a download link or a link to another thread, and a description of what it does.
All the best everyone
Here is my texture dll:
There has always been a problem in gm where any textures loaded externally, or during gameplay don't have mipmaps generated for them, which results in anisotropic filtering not worked properly.
For the past few years I've been using a dll to fix this issue, and I didn't realise it was something that many people have been looking for until the other day in a conversation in the RenderTech thread: https://forum.yoyogames.com/index.php?threads/rendertech.63893/
So I've decided to release the dll and source code here.
It works by bypassing gm's built in texture system\functions, and doing it all through directx independently.
It mainly uses 2 functions: texture_load(filename) (which returns the texture's pointer into gm) and texture_set(sampler_id, texture_pointer).
Mipmaps automatically get generated for each texture loaded, and when anisotropic filtering is enabled, everything looks exactly how it should.
The dll also has functions for enabling\disabling anisotropic filtering\mipmapping, setting min\mag\mip filter modes.
Note- Gm's built in texture_set_stage doesn't work with the pointers returned from the load function, so you have to use the texture_set function, and you can't use the gm_basetexture, you have to create a uniform sampler.
The dll is currently only compatible with gms1.4, and uses the direct9c sdk. If you want to use and compile the source code you'll need to get the dx9c sdk.
It will be quite easy to convert to gms2\dx11, it'll be the exact same process for each function, just using the dx11 sdk functions instead.
I've made a very basic project which shows the anisotropic filtering working on an externally loaded texture, where you can toggle it on and off by pressing A. I picked a texture that would look particularly bad when anisotropic filtering is off so you can see the difference it makes
https://drive.google.com/open?id=1SQLmujDQwOIK9X84qRbfI_JKFa5eTodM
And here's the source code:
https://drive.google.com/open?id=1zvdUorPE8jwwHR0UJ88xCo2f8_Y04S2J
If you have any question or problems, feel free to ask here, it would be better if you posted here instead of a pm so other people can read it if they have the same problem.
Also if anyone else has made dll that's related to expanding gm's graphics, it would be great if you posted a link to it here
All the best everyone and I hope this can help you out with your projects
If you have a dll you want to share(as long as it's for gm), feel free to do so here, by either posting a download link or a link to another thread, and a description of what it does.
All the best everyone
Here is my texture dll:
There has always been a problem in gm where any textures loaded externally, or during gameplay don't have mipmaps generated for them, which results in anisotropic filtering not worked properly.
For the past few years I've been using a dll to fix this issue, and I didn't realise it was something that many people have been looking for until the other day in a conversation in the RenderTech thread: https://forum.yoyogames.com/index.php?threads/rendertech.63893/
So I've decided to release the dll and source code here.
It works by bypassing gm's built in texture system\functions, and doing it all through directx independently.
It mainly uses 2 functions: texture_load(filename) (which returns the texture's pointer into gm) and texture_set(sampler_id, texture_pointer).
Mipmaps automatically get generated for each texture loaded, and when anisotropic filtering is enabled, everything looks exactly how it should.
The dll also has functions for enabling\disabling anisotropic filtering\mipmapping, setting min\mag\mip filter modes.
Note- Gm's built in texture_set_stage doesn't work with the pointers returned from the load function, so you have to use the texture_set function, and you can't use the gm_basetexture, you have to create a uniform sampler.
The dll is currently only compatible with gms1.4, and uses the direct9c sdk. If you want to use and compile the source code you'll need to get the dx9c sdk.
It will be quite easy to convert to gms2\dx11, it'll be the exact same process for each function, just using the dx11 sdk functions instead.
I've made a very basic project which shows the anisotropic filtering working on an externally loaded texture, where you can toggle it on and off by pressing A. I picked a texture that would look particularly bad when anisotropic filtering is off so you can see the difference it makes
https://drive.google.com/open?id=1SQLmujDQwOIK9X84qRbfI_JKFa5eTodM
And here's the source code:
https://drive.google.com/open?id=1zvdUorPE8jwwHR0UJ88xCo2f8_Y04S2J
If you have any question or problems, feel free to ask here, it would be better if you posted here instead of a pm so other people can read it if they have the same problem.
Also if anyone else has made dll that's related to expanding gm's graphics, it would be great if you posted a link to it here
All the best everyone and I hope this can help you out with your projects
Last edited: