Radiosity you say? Because I could!

Started by
16 comments, last by UNREAL WARRl0R 12 years, 9 months ago
[color=#4A4A4A]For no reason what so ever (Maybe it has to do with the fact that I got the last week off :P) I made a CPU based Radiosity Rendering API for my engine. I have already had it on compute shader for about 4 weeks but, wanted to (for some reason) move it to CPU

I also made a commentary of myself while I made it. It started out as a tutorial but, that quickly ended once I forgot basic calc (where did my math teacher go wrong!?!?)

I will post it here once first video in the 25 part series uploads (each one is about 1:30 hours long, I have only edited the first one and will only release one video per week)

Feedback? Questions? Comments?

Also, if you see a issue in my code (I was tired when I recorded so, I missed a lot of basic things) please post a fix here

Thanks, hope I get some new subscribers

(Also I recreated content building within SLIMDX, but I most certainly will not be sharing source code since I made it for a client)
Advertisement
[color=#4A4A4A]Here is the commentary/tutorial episode 1!

Sorry, but I honestly think this is a waste of time =S ~40 hours of you writing code for your engine in a somewhat low res video that makes it hard to follow what you do... might be a great sleeping aid though.
Are you sure, I do as a matter of fact remember recording them in 1080p

Make sure the video wasn't uploading and try again
I don't mean to cause offense, but I'm sure this will sound offensive, sorry... This is a really terrible learning aid. After watching the slow first few minutes, I fast forwarded to 24mins in, where you try to add a new line of code. After 10 minutes of mumbling to yourself and fumbling around the code-base, you're still adding that same line of code without actually explaining anything to the listener. I was sitting there mouth agape, utterly dumbfounded for those 10 minutes. There's absolutely no way I could sit though hours of that.

If you're going to record a lesson like this, you need to plan what it is you're going to speak about in advance so that you can concisely get the point across. Surely this could be explained in less that 40 hours of video? Perhaps even a few pages of text could do?
I am sorry, but no one will dig into 40 hours of material to be able to make their own CPU based radiosity render. It's just not time efficient and, probably, would be better served with just implementing it on their own.
"I will personally burn everything I've made to the fucking ground if I think I can catch them in the flames."
~ Gabe
"I don't mean to rush you but you are keeping two civilizations waiting!"
~ Cavil, BSG.
"If it's really important to you that other people follow your True Brace Style, it just indicates you're inexperienced. Go find something productive to do."
[size=2]~ Bregma

"Well, you're not alone.


There's a club for people like that. It's called Everybody and we meet at the bar[size=2].

"

[size=2]~

[size=1]Antheus
Okay, thanks for the feedback. I will plan out the lesson and re-record (lol) this week end
Try to plan the videos... so you dont waste time talking to yourself too much. What some video tutorials from Adobe...

Im interested in watching your tutorials, but in 40 hours I think I can read every paper that was ever made about radiosity and still eat some cookies :rolleyes:...

P.S. Also, I heard you saying ****...

Good luck.
Just a thought here, but you might want to make sure that you what the hell you're doing before you set out to teach other people how to do it. I mean...there's a part in that video where you download a C# source code diff'ing library and throw it into a folder called "Calc".

There's nothing wrong with learning how to do something and having some struggles along the way, but you should do that before you write the tutorial.
I have ran into an issue when planing out the tutorial, and I dont want to have an issue when I am recording

Does anyone here know how to get a color off of a 360 angle?

[/source]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SlimDX;
using System.Drawing;
namespace GameEngine.DirectX.Framework
{
class Radiosity
{
public Radiosity()
{
f = new FormFactor();
}
FormFactor f;
public float Bounce(Surface Primary, Surface Secondary)
{
float r = 0f;
float F = f.ComputeFormFactor(Primary, Secondary);
F *= Secondary.Radiosity;
F *= Primary.prop.Reflectivity;
r = F + Primary.prop.Emissitivity;
Primary.Radiosity = r;
r = DecodeToAngle( r );
Primary.ColorFromVector(new Vector3( r ));
return r;
}
public float DecodeToAngle(float Radiosity)
{
float t = 0;
t = Radiosity;
t *= 360;
return t;
}
}
}
[source\]

As you can see, it outputs the color as an angle but, I need a way to convert that into a RGB color.

This topic is closed to new replies.

Advertisement