Jump to content

Shaders [1.7.10] [Need Guidance]


Recommended Posts

Hello everyone.


So I have been thinking, and wanted to learn to use LWJGL and GL11 in depth, and in doing some research, and seeing some of the possibilities, I came up with the idea of doing a shader mod, Now I know this has been done before, but I want to have a go to learn. Now I also feel that I am in a better position to make a shader mod than someone with a computer that can run vanilla at like 400 FPS, as I can only really run vanilla at 30 - 60 fps. which is playable, but when it comes to texture packs greater than 128x, or modpacks with like 200 mods, it becomes quite slow. And so this will really kind of force me to optimise the mod as much as possible, until it runs smoothly on vanilla (if I cant get the game running with at most 40% framerate drop, than I might not release it).


Now things I would like to do are the following:



Reflections; Things like glass, water etc will reflect nearby objects.


Water animation; the nice wavy animation for water. This might be able to change depending on the biome (biome dependent animation not done before as far as I am aware)


Refraction; things under water will be distorted.


Coloured light; This is also something I am not aware has been done before, and may involve rewriting mc's lighting engine. I would like to make it so that things that can emit light can emit the light that that block is coloured. I have an idea on how to do this; I get the average colour on the block, and emit that colour (Im pretty sure that this will make it texture pack supported too, so if a texture recolours a block, the light emitted is different).


Portal rendering; This was the first idea I came up with, and may be the stupidest, and am not entirely sure if this possible due to the way chunks work, and it is 3d. I would like to if possible make it so that you can see through a portal, what I mean, is that what is on the other side of the portal is rendered, and not like what portal gun mod did, I want it to be 3d, so if the player changes angle, there is depth to what is on the other side. Now that is the bit I cant see how, or even if is possible, having the 3d render with depth due to limitations in java, LWJGL, and mc. But it is still a cool idea, right? If I cant make it 3d, and with depth, I'll just do what the portal mod did, and make it 2d, or leave portals as it is.


Shadows; Of-course a shader mod will have shadows, pretty simple concept, not much explaining needed.


Make all of the above configurable, so if an option is too laggy, or not liked, it can be turned down, or off


And of-course, make an api, so giving other mods the capability to do things like make a portal see through, or custom refractivity and reflectivity for their own custom fluids.




Now I am not sure how much of this, is possible, or how much of this I will complete, and I know I have big ambitions, but It would be great if I could get some guidance, point me to some tutorials, give me advice on what might be the best way to do something, maybe give me any ideas you might have. Also tell me if things like the 3d portal render are impossible, I have a feeling that it is, probably for every programming language, but it is an idea.


Thanks in advance.

I ask complicated questions, and apparently like to write really long detailed posts. But I also help others when I can.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...

Important Information

By using this site, you agree to our Terms of Use.