deferred/forward rendering "simple" code

Does anyone here have or know some deferred rendering, or maybe forward rendering, code which could be not -too) painfully added to any 3D project ?
I mean something which is not an all-in-one engine with sounds, physics, editor, etc but also a more detailed example than Catalinzima “tutorial” for instance.

Also, I have found this tutorial but unfortunately, the author website is gone now, and there is no way to get code unless anyone would have a backup around.

One point still bugging me is all author always use a custom content processor without giving any good enough explanation on why they’re doing so; which looks like to be common in graphics programming, people usually repeat what they read somewhere else without explaining what and why: “it is this way period, don’t ask”, maybe they don’t even really understand everything (as when you truly understand something you can explain it from A to Z, if you can’t, it’s because you don’t understand, and/or don’t know part of the “under the hood” stuff).

As C# has Object Oriented Design in its DNA, could it be any way to specialize an exiting content processor to add more properties/tings to it ? Does the objects absolutely need to carry something more ? Does the material/visual properties of objects be separated from the meshes ?
There are a lot of question which seems to be kept far away :/.

So, thanks for reading.

There are many tutorials on the subject.
One reason they use a custom contentprocessor is to pre compute data for the model instead of doing it at load time or worse, run time.
Catalinzima wrote a good tutorial on deferred. Hargreaves has a pdf lurking around on the web if you google.
You can also have a look on slideshare too, concerning how 3d games engineers did their renderer in AAA games and present their work. Even UE4 !
As 3d realtime rendering is a real war between studios, noone will tell how its engine works in all details. You will have to get infos from here and there to figure out the whole process to reach the same result in the end.

Perhaps you can also find something here:

Really? Instead of making generalizations, why not simply ask “Why is X using a custom content processor in Y?” so we can discuss?