Journal of dcosborn

Profile
None
C++, OpenGL, Blender, Lua, Bash, and interactive stories
117 comments
88 entries
Advertisement
dcosborn
June 05, 2008
Exponential shadow maps
In another ShaderX6 article, Macro Salvi presents "Exponential Shadow Maps". Like variance shadow maps, they can be hardware filtered, but they only require storing a single moment. They're also faster, with a simpler depth comparison equation.

...but... to avoid overflow issues when storing the e…
2,547 views
dcosborn
June 03, 2008
Median filtering
I implemented 3x3 median-filter post-processing (yes, I'm jumping all over the place). I hope you can see the slightly more fluid appearance of the screenshot below. I'm using the method presented by Morgan McGuire in ShaderX6.



You may remember that I had image-space outlines a while ago. There's…
1,297 views
dcosborn
May 30, 2008
Phun with Loo-ah
I've made the leap into Lua scripting (finally). This has been the biggest hole in the project for a long time. So, here's what I have now:



That guy stuck in the ground is an NPC(!). The exclamation mark is because he's the first ever NPC in the engine. He's at position [0,0,0] because I haven't…
1,503 views
dcosborn
April 30, 2008
Combating macro pollution
So one of the classic problems with Win32 is the macro pollution.

As some of you may remember, near and far used to have significance as keywords on the segmented x86 architecture. They remain in as empty macros.

Enter: me. I want to make a frustum class with near and far members. Unfortunately…
1,425 views
dcosborn
April 30, 2008
Dynamic AABB
I finished implementing dynamic axis-aligned bounding-boxes for skinned meshes. I use a two stage approach, where each stage is cached and only updated when necessary.
  • The first stage calculates static bounding information. This includes an OBB for static vertices and a bounding capsule for each b…
  • 1,526 views
    dcosborn
    April 16, 2008
    Greetings
    Updating a journal is alot like committing to a subversion repository; if you don't do it often enough, the updates pile up and you lose track of your changes. But I'll try my best.

    I scored a contract position doing anatomical 3D modeling for medical education. I'm looking forward to doing more D…
    1,106 views
    dcosborn
    January 20, 2008
    Theora video recording
    I spent some time implementing Theora video recording via libtheora. My implementation is currently quite slow, mainly because of two things:
  • I'm rendering off-screen at the specified video resolution, rather than simply grabbing the current framebuffer and scaling. This yields higher quality, but…
  • 1,035 views
    dcosborn
    January 12, 2008
    Bug-fix update
    I've fixed a number of bugs since the first release, perhaps the most important being ATI card support. The problem had to do with incorrect GLSL code (as we all know, nVidia's GLSL compiler is rather permissive), as well as a subtle GLSL incompatibility on ATI's part regarding the linkage of mult…
    1,145 views
    dcosborn
    December 16, 2007
    First demo release!


    Download: [zip | tar.bz2 | tar.gz] (23 MB)

    The demo requires OpenAL. If you don't have it already, you can grab it here.

    To play with the options, open up the "conf" file in a text editor. If you have a faster machine, you might try reducing vid.shadow.down and enabling vid.shadow.blur.

    Please post …
    1,551 views
    dcosborn
    December 11, 2007
    Its not supposed to look like that!
    I'm in the process of fixing up a lot of rendering code. I've been working on it since about 6:00pm yesterday and I'm quite tired, so I've lost the ability to write good code and I'm just fixing syntax errors before I hit the sack. Anyway, I fixed them all and got this interesting shot:



    I've been …
    1,214 views
    dcosborn
    November 24, 2007
    Variance shadow mapping
    The last two days have been spent working on shadow mapping. I implemented variance shadow mapping pretty quickly, owing to the excellent paper and demo from AndyTX and Pragma. The rest of the time was spent tweaking the appearance and fixing my own errors. I'm only doing shadows from the sun, w…
    1,202 views
    dcosborn
    November 20, 2007
    Erm...
    Working on the textures a bit. What do you think: exquisite taste or fashion disaster?



    I want to go with a hand-painted look, but that would mean creating all of the textures by hand, which would take forever. So for the time being, I'm only going to paint textures for which I don't have an existi…
    992 views
    dcosborn
    November 19, 2007
    Tool maintainance
    Since I'm using an unmaintained open-source tool in my pipeline (Wings 3D), it can involve some extra work when I run into some functionality that I need but isn't available. Such was the case today when I tried to do some UV mapping. The UV tools in Wings are missing a lot of the functionality o…
    690 views
    dcosborn
    November 18, 2007
    Environment art
    I'm working on some buildings for the demo. This inn is the third attempt; the previous ones were learning experiences and not really presentable. It is not complete; the rooms have been fleshed out, with a stairway and administration desk, but it needs some additional architectural details and o…
    750 views
    dcosborn
    November 15, 2007
    Music
    Music is all finished for the demo, but I haven't posted anything about it. I thought I would do so now. Since I'm not the most capable composer, and I don't have a lot of money to contract it out, I've been using public domain sheet music. There are multiple sites with large archives of it, dat…
    904 views
    dcosborn
    November 13, 2007
    Still working on icons
    I think my current user interface theme is too big; it takes up too much screen space. Themes in PAGE use a base vertical resolution specified in the theme resource to determine the scale of the interface elements. So I've changed it from 864 to 1200 and modified the font sizes to match.

    I've deci…
    958 views
    dcosborn
    November 11, 2007
    Working on icons
    I'm working on the icons now. I need 4 icons for the in-game command bar. I looked at the interfaces in some other games (Dreamfall, Guild Wars, and Warcraft 3) for inspiration. Dreamfall uses simple monochromatic icons...




    Guild Wars and Warcraft 3 use color icons on a dark background surrounded…
    835 views
    dcosborn
    November 05, 2007
    Quick update
    I worked on the arm rigging today. I failed to find a way to control the tracking of the elbow, so the IK is of limited use. Because of this, I used FK to animate the arms for the walk cycle. Here is the final walk-cycle for now. Tomorrow I will export it into the engine and write the little bi…
    767 views
    dcosborn
    November 04, 2007
    More walk cyclage
    Here is the second walk cycle attempt. With the new spine rigging it actually has some hip and shoulder movement. I also decreased the stride distance.

    Here is the new spine rigging. The bone that sticks out from the base of the neck controls the upper half of the spine, while the bone sticking o…
    843 views
    dcosborn
    November 02, 2007
    Finally doing the walk cycle...
    ...and its harder than I thought, even with the rigging. But here is my first attempt. I've only done the legs for now, and it seems a little... stiff.

    I've learned about a few issues I need to take care of while doing it. I need an offset bone that is the root of everything else, even the theore…
    897 views
    dcosborn
    November 01, 2007
    Quick update
    So, um... long time since my last post (as usual). I figured that staying away from GDnet would help me get more done.

    Lots of things have been added to PAGE and I'm just working on the art a bit before I release a demo. I could list the changes, but I think I'll just wait a week and hopefully by …
    867 views
    dcosborn
    September 12, 2007
    Linux
    PAGE finally runs under Linux! I had to add support for .conf configuration files, a POSIX implementation of the sys/file, sys/proc, and sys/Timer modules, a X11 implementation of env/Window, and an X11 adapter for vid/opengl/Driver. The X11 code is very minimal right now, and some things don't w…
    1,082 views
    dcosborn
    August 29, 2007
    Shadow mapping, part 1
    I'm working on some shadow mapping right now. Its the first time I've done this so its taking me longer than I hoped. Nevertheless, here are my first shadow mapping screenshots.




    I'm using cube mapping with the depth packed into RGBA as described by Phantom here. Before this I had tried virtual sh…
    893 views
    dcosborn
    July 22, 2007
    Interface, part 5... billion?
    Worked on some compositing. Alpha compositing is going to be used to make windows/widgets fade in/out. Glow compositing is for showing that something is clickable when the mouse is over it, or showing what is logically selected if the arrow keys are used.




    I'm leaving implementing the rest of the c…
    872 views
    dcosborn
    July 15, 2007
    Interface, part 4
    There's a storm rolling in, so I'll just post this before switching to the laptop. I've been fixing bugs, cleaning stuff up, and implementing some minor new features. I haven't got as much code done as I wanted because I've been trying to get into more digital painting. Stahlberg's paint-over th…
    837 views
    dcosborn
    July 12, 2007
    Interface, part 3
    I added list widgets, although they still need to be skinned. I also implemented clipping and justification for text rendering. I still need to do button and edit widgets, fix some minor incomplete features, and then deal with offscreen compositing (for transparency) and interaction. I'll be usi…
    802 views
    dcosborn
    July 10, 2007
    Interface, part 2
    I'm continuing to work on the user interface. Most of the day was spent fixing some resource management stuff, but I did manage to work on some graphics and the text widget.



    Layered perlin noise in GIMP is really useful for creating rock-like textures.
    765 views
    dcosborn
    July 09, 2007
    Interface
    Long time, no post. I've been working on the user interface and various other things related to it. I implemented print-resolution screenshots a la Game Programming Gems 2, except that I've used OpenGL matrix concatenation to build the sub-sections. Here's a list of the widgets that I'm doing: b…
    705 views
    dcosborn
    June 21, 2007
    Computational Aesthetics, part 2
    Today was another full day of sessions. I'm providing my understanding of some of the sessions below; there may some simplifications or misunderstandings.

    David Mould described a method of placing stipples to maintain the visibility of the edge between colors in "Stipple Placement using Graph Searc…
    792 views
    dcosborn
    June 20, 2007
    Computational Aesthetics
    Hello from Banff! I'm here at the relatively small Computational Aesthetics conference where we look at computer graphics, visualization, and art. Today was the first day of sessions, with about seven throughout the day.

    In "Composition Principles for Quality Depiction and Aesthetics" (Rivotti et …
    841 views
    Advertisement

    Popular Blogs

    shawnhar
    Generalist
    101 Entries
    9 Followers
    15 Entries
    10 Followers
    johnhattan
    Programmer
    1,277 Entries
    47 Followers
    ApochPiQ
    Generalist
    628 Entries
    44 Followers
    dgreen02
    Generalist
    338 Entries
    56 Followers
    Advertisement