Is it possible to make lighting in a normal effect work like the lighting in the basic effect?
With a basic effect it's really easy:
BasicEffect effect; effect.EnableDefaultLighting();
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It only takes a minute to sign up.Sign up to join this community
You can make any configuration of
BasicEffect yourself, such as the so-called "default lighting". But really, XNA's
BasicEffect is not basic at all. Having so many different options means that the actual shader is constructed of many interchangeable fragments. It's quite complex internally.
However, if you don't want your shader to work in a variety of ways, it's much simpler. You can implement your own so that it combines a specific set of features and always uses them. Directional lighting plus ambient lighting is very easy, and google will surely give you a workable example.
You will have to do the work that the built-in class does for you when it prepares to use the shader. You will need to assign a light direction and color, and define and ambient color and intensity. It's more lines of code than using
BasicEfect, but the shader will be your own to customize and experiment as you please.