So I decided that I want to learn making my own enb shaders.
How can I start? Can someone tell what should I learn first?
I try to google tutorials but can't find one.
I want to start from the basic of course.
-Which programming language?
-What tools or program needed?
-Tutorials and Documentation.
-Any help I could get to get started learning.
The only programming language I know is PHP and I'm not even pro at that language, Since I studied it myself just for fun. Since enb got me hooked I really want to learn it so I can modify existing shaders and hopefully make my own shaders.
[Q]Making ENB Shader
- Author
- Message
-
Offline
- *blah-blah-blah maniac*
- Posts: 17551
- Joined: 27 Dec 2011, 08:53
- Location: Rather not to say
Re: [Q]Making ENB Shader
Well, if you know any programming language (exception is sql), then no doubt you can learn without problems. Shaders are HLSL language (GLSL is for OpenGL games, it is very similar, but have some differencies, so try to avoid it before realize what is different).
https://docs.microsoft.com/en-us/window ... -functions
https://docs.microsoft.com/en-us/window ... -reference
Keep in mind that not all functions are supported, because of dx9 games are using shaders up to 3_0 (like old skyrim, fallout3/nv, ddda, gtasa, gta4, ...) but there listed also dx10 and dx11 functions (shaders 4 and 5). Some are not for vertex or pixel shaders, so also can't be used (usually compatibility is in the end of the page for each function). Software for testing is mod itself, but not all versions output compilation errors to the screen. You can try to use NVidia FXComposer, but i worked with it very long time ago and remember that only some old version (maybe 2.0 or lower) was fine with compiling code, others refused. I don't know any books about learning this language, for me it was very simple because i knew other programming languages before, so just looked in to other's code to understand how it works. But be careful and not do mistake of many other people who just copy file or it's content blindly when they find online something they like, it's not an image or sound file to work like that, it do have internal standard defined by software which use it, to have proper names of techniques (i.e. functions to execute), global variables, textures. So to adopt some other code, need also aply to it that specific standard. I tried to keep compatibility as much as possible between versions, but dx9 and dx11 mods still need some minor changes, but it's simple, just technique definition and textures/samplers are changed. The easiest way i guess to remove most of the code inside pixel shader function and try write your own via trials and errors way. And it's more important not to learn this, but to understand in mind what you need to get visually and what math can do it, some people fail to think such way, so shaders are not for them. After all you can ask here anything.
https://docs.microsoft.com/en-us/window ... -functions
https://docs.microsoft.com/en-us/window ... -reference
Keep in mind that not all functions are supported, because of dx9 games are using shaders up to 3_0 (like old skyrim, fallout3/nv, ddda, gtasa, gta4, ...) but there listed also dx10 and dx11 functions (shaders 4 and 5). Some are not for vertex or pixel shaders, so also can't be used (usually compatibility is in the end of the page for each function). Software for testing is mod itself, but not all versions output compilation errors to the screen. You can try to use NVidia FXComposer, but i worked with it very long time ago and remember that only some old version (maybe 2.0 or lower) was fine with compiling code, others refused. I don't know any books about learning this language, for me it was very simple because i knew other programming languages before, so just looked in to other's code to understand how it works. But be careful and not do mistake of many other people who just copy file or it's content blindly when they find online something they like, it's not an image or sound file to work like that, it do have internal standard defined by software which use it, to have proper names of techniques (i.e. functions to execute), global variables, textures. So to adopt some other code, need also aply to it that specific standard. I tried to keep compatibility as much as possible between versions, but dx9 and dx11 mods still need some minor changes, but it's simple, just technique definition and textures/samplers are changed. The easiest way i guess to remove most of the code inside pixel shader function and try write your own via trials and errors way. And it's more important not to learn this, but to understand in mind what you need to get visually and what math can do it, some people fail to think such way, so shaders are not for them. After all you can ask here anything.
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7