Commit Log

back to main page

Summary Period: 2005-05-13 to 2005-04-04 (47 Commits)

alex 2005-05-13 04:49

Added support for a Core Data document architecture.

Still a long ways to go before it all works, though.

379 lines of code changed in:

alex 2005-05-10 03:46

Tiny scene tweaks.

3 lines of code changed in:

alex 2005-05-09 23:31

Working mostly on the cardiod caustics you get from a ring.

27 lines of code changed in:

alex 2005-05-09 02:23

Numerous changes... Let's see, here's a brief list:

- Ring and cylinder (not tested) primitives
- Dancing Captain animation while rendering
- Better multithreading
- Better scenes

And lots else that I forget about...

1576 lines of code changed in:

alex 2005-05-01 15:54

Updating the texture less often while rendering (once every 3 seconds now).

2 lines of code changed in:

alex 2005-05-01 15:53

Now using linear filtering on the rendered texture.

2 lines of code changed in:

alex 2005-04-30 22:32

Changes to support multiple lights, but probably not quite correctly yet (its pretty low on the priority list, but I wanted to have basic support already there).

48 lines of code changed in:

alex 2005-04-30 21:41

A tiny amount of code cleanup.

1 lines of code changed in:

alex 2005-04-30 20:30

Lots of changes:

- Refraction is (mostly) correct.
- Lights are now rendered (mostly) correct (with the exception of the fact that the light edges are not antialiased).
- Light paths which aren't facing INTO the light don't get counted anymore.
- Interface improvements, such as the fact that the whole scene doesn't stop drawing when rendering (though changes cannot be made to the scene while rendering, obviously)

291 lines of code changed in:

alex 2005-04-28 23:54

Fixed a memory leak.

There's still synchronization issues with the threads, but they don't cause problems unless I toy with them right around the thread creation/deletion.

I'm not sure I'll mess with the multithreading again for a while, since I still have lots of GRAPHICS related stuff to work on.

17 lines of code changed in:

alex 2005-04-28 23:36

Now rendering to a texture instead of drawing points as I render.

Also, added basic multithreading capability, to be expanded upon later.

351 lines of code changed in:

alex 2005-04-28 02:11

Rewrote frontend to use NSOpenGLView instead of GLUT. Mouse movement doesn't work yet, but it'll be easy to implement tomorrow, after some sleep.

173 lines of code changed in:

alex 2005-04-28 00:26

Removing old files.

1 lines of code changed in:

alex 2005-04-28 00:25

Rewrote the entire codebase in Objective-C after frustrations with C++. This means it'll be slightly more difficult to port to my PC later and rework with GPU acceleration, but not impossible. If I could ever get a better mac so I could do the GPU acceleration on that, I'd be a happy man.....

2745 lines of code changed in:

alex 2005-04-27 10:19

Removed CPSchlickModel from repository, since it has been renamed to CPSchlickMaterial

10 lines of code changed in:

alex 2005-04-27 10:16

Working my way towards a better material system. I haven't made a commit in a long time, so there's lots of changes here that I kinda forgot about, but lets just say the renderer is *better* and more *robust*. :-)

353 lines of code changed in:

alex 2005-04-18 01:31

Moved material properties, such as diffuse color, to the material class (i.e. CPSchlickModel).

I'm on my way to *proper* light transport.

115 lines of code changed in:

alex 2005-04-15 22:32

Gave the Schlick model more descriptive parameter names.

18 lines of code changed in:

alex 2005-04-15 22:31

The amount to jitter the eye rays is now configurable with a macro defined at the top of CPScene.cpp.

Also, I've implemented the beginnings of what I think to be the correct Schlick lighting model.

15 lines of code changed in:

alex 2005-04-14 04:17

Added the constructor and destructor to the CPSchlickModel class so that it can actually be used.

8 lines of code changed in:

alex 2005-04-11 03:55

Made rays intersect with quads even if they're coming from the opposite direction.

2 lines of code changed in:

alex 2005-04-11 03:16

The s() macro is supposed to compute to be all the same signs in the RayHitsTri() macro, so for my purposes maybe it IS better to use > instead of >= (i.e. 0 is signless and I don't want it to be considered a hit if that's the case).

1 lines of code changed in:

alex 2005-04-11 03:14

Changed the grid size AGAIN. This time, I'm going to concentrate on using the spikey thing as my main model in the default scene, and thus use a grid size of only 1.

1 lines of code changed in:

alex 2005-04-11 03:00

Better supersampling of eye rays for antialiasing purposes (now using a jittered grid approach).

Also changed the default scene to have the spikey thing instead of the random.mesh because it is faster (less triangles) and because it better demonstrates soft shadows (it casts shadows with both sharp and soft regions).

45 lines of code changed in:

alex 2005-04-08 21:44

Made RayHitsTri work with back-facing triangles too. Somehow, I may want to report both the closest front-facing hit and the closest back-facing hit later on.

1 lines of code changed in:

alex 2005-04-08 20:30

Fixed a bug where sometimes a negative "t" value could result in an incorrectly reported intersection. This is the bug that caused the acceleration structure to be visible while computing shadows because it occurs anytime the ray originates from within the grid structure.

3 lines of code changed in:

alex 2005-04-08 20:29

Tweaked the acceleration structure grid size down to 5 because that's what makes for fastest triangle intersections with the "random.mesh" model.

1 lines of code changed in:

alex 2005-04-08 20:27

Better soft shadows, and first multisampling capability. Now, the multisampling leaves a bit to be desired.... right now it just uses random samples in the single pixel, not a much cleaner jittered grid approach.

47 lines of code changed in:

alex 2005-04-08 18:20

Bumped up the fullscreen resolution to 1024x768.

1 lines of code changed in:

alex 2005-04-08 11:38

First attempt at soft shadows. Now, I'm calculating soft direct illumination and adding in a ambient term to brighten up the scene since we don't have indirect illumination yet.

In the process of adding soft shadows, I removed the lights from the objs list in CPScene and made a special list-- lightObjs. This is because lights are shown differently than other objects in the raytraced scene, but we still want them to render them in the realtime view.

Note that there is a bug in the intersection code for the triangle meshes which is only obvious with shadow rays. It seems that if the ray originates inside of the acceleration structure the intersections are somehow incorrect. I'll have to investigate further later.

Also, I added the 'random.mesh' to the project so that I can send the built application to other (hopefully faster) machines and run it there.

72 lines of code changed in:

alex 2005-04-08 07:44

Finally adding diffuse shading. I need to spend some more time on this project!

23 lines of code changed in:

alex 2005-04-06 00:29

Added code to stochastically sample stratified points on the quad light source.

Added decent random number generator (see mt19937ar).

308 lines of code changed in:

alex 2005-04-05 22:06

Simplified real-time rendering of sphere so that it runs faster.

1 lines of code changed in:

alex 2005-04-05 20:10

Added ability to twist camera around the Z axis using the 'Z' and 'C' keys.

37 lines of code changed in:

alex 2005-04-05 18:40

Made the trimesh object in the scene a bit larger. I'm done with the stupid little unimportant tweaks of the scene now. As soon as I nap, I'll move onto getting some actual render out of this thing....

2 lines of code changed in:

alex 2005-04-05 18:34

Just moved the light up a little closer to the ceiling in the default scene.

1 lines of code changed in:

alex 2005-04-05 18:20

Quad lights are now modeled as point light sources in real-time mode. Also, I'm drawing quads with less tiles, since the whole point of real-time is that it is fast and not quite as beautiful...

3 lines of code changed in:

alex 2005-04-05 18:16

Now drawing subdivided quads for better shading in real-time mode.

15 lines of code changed in:

alex 2005-04-05 15:48

Added simple realtime GL functionality to the CPQuadLight and put a quad light on the ceiling of the test scene.

49 lines of code changed in:

alex 2005-04-05 05:41

Added methods to CPObject so that the diffuse color of that object can be changed.

Created a reasonable scene to use as a test while I work on the rendering code.

56 lines of code changed in:

alex 2005-04-05 05:09

Made subclass methods which are virtual in the super class be virtual in the subclass, mostly to make it more obvious what's going on. I don't think having the virtual method dispatch overhead is going to cause much of a slowdown, even on the oft-called methods.

Also, much more importantly, I added the CPQuadLight class, which will be the first (and potentially only) light class I will offer.

45 lines of code changed in:

alex 2005-04-04 20:20

I now distinguish between the structure of stored photons (StoredPhoton, see CPPhotonMap) and photons still being shot around the scene (Photon, see CPLight).

46 lines of code changed in:

alex 2005-04-04 15:35

Added CPLight to repository.

10 lines of code changed in:

alex 2005-04-04 05:53

Moved the scene elements (camera, objects, etc) into the CPScene class. This will soon ease the movement to a Cocoa interface by simply replacing the GLUT functionality in main.cpp.

175 lines of code changed in:

alex 2005-04-04 05:02

Slow getting started with this repository....

1 lines of code changed in:

alex 2005-04-04 05:01

Oh, nothing really changed.

1 lines of code changed in:

alex 2005-04-04 04:57

Initial revision

1648 lines of code changed in:

Generated by StatCVS 0.2.2