Has anyone tried to implement Image Space Photon Mapping usin G3D?

61 views
Skip to first unread message

Xing Du

unread,
Mar 26, 2012, 11:25:27 AM3/26/12
to G3D Users
Has anyone tried to implement Prof.McGuire's paper
"Hardware-Accelerated Global Illumination by Image Space Photon
Mapping" in G3D?

I've got several questions about the sample code given.

1. Is the class Visualizer3D and Visualizer the same class? I noticed
that a Visualizer3D object called m_visualizer was instantiated but
never used, but the visualizerBuffer function takes a input with type
Visualizer. So are they the same class?

2. the class Viewoption, is it used for setting the visualizer?

3. I've got no idea what kind of data and functions should Signal
class should possess, neither any idea on how to implement this class.
Anyone give me some idea?

Morgan McGuire

unread,
Mar 26, 2012, 11:34:28 AM3/26/12
to g3d-...@googlegroups.com


3. I've got no idea what kind of data and functions should Signal
class should possess, neither any idea on how to implement this class.
Anyone give me some idea?

See:


We have never added signals to G3D, unfortunately.

-m

Corey Taylor

unread,
Mar 27, 2012, 1:39:11 AM3/27/12
to g3d-...@googlegroups.com
I don't know if I could call "missing" a signal solution unfortunate :).  We also haven't had to deal with defining the use cases and rule sets along with maintaining and debugging an implementation.
 
I (as many others) can think of use cases for them, but I'm not sure they're needed in G3D directly yet.  I'd probably want to implement a few use cases first to see how they should fit into G3D.
 
The one case I know of for G3D exists in in the video classes for frame decompression.  I can imagine other processing solutions that would require it for games and innovation/research, but am not sure a generic system in G3D is the right way to go.
 
We are also "missing" certain structural systems like asset management which might require a signal solution.
 
corey

Morgan McGuire

unread,
Mar 27, 2012, 7:51:33 AM3/27/12
to g3d-...@googlegroups.com
I don't remember why I needed it in ISPM.  Maybe a GMutex would work just as well in that case.  It was just an issue of one thread needing to wake another one because the ray tracer was multithreaded.

We need to either ditch our network support or provide some kind of non-blocking way to fill buffers and wait on a thread.  I like Enet as a network library and am working with Mike to see if it will be a good replacement for the current classes.

-m

Prof. Morgan McGuire
Computer Science Department
Williams College
http://cs.williams.edu/~morgan
Reply all
Reply to author
Forward
0 new messages