So lets say for example i wanted to make some little 3d example program, like learn how to make effects work on the inside. to learn how to make them myself. I know there is rendering engines like irrlicht and ogre 3d But if you want to add your own effects you have to make it yourself. Well i was thinking, to do that should i use SFML to control the window then just use opengl to start learning how to make my own shaders and such. It seems like a good idea.
That is one option, and probably the best one. Alternately, there is no reason that you can't make your own effects in Ogre3D - I know it has ways for you to do custom things to a ridiculous level.
I use AMD's RenderMonkey to develop shaders.
But, since it only supports OpenGL 2, I have to make some minor edits to make it actually work on my OpenGL 4 engine.
Btw i'm certain Irrlicht allows custom shaders, both HLSL and GLSL.
Check out all of their examples, there's one dedicated to shaders.