|
|
(6 intermediate revisions by 4 users not shown) |
Line 1: |
Line 1: |
| Hi, I'm Kris. | | Hi, I'm Kris. |
| | | |
− | I'm in my 4th year at Canterbury University, working on my BSc(Hons) in Computer Science. | + | I completed my studies at Canterbury University in 2008 with a first class BSc(Hons). I am now working at [http://www.stickmenstudios.co.nz Stickmen Studios] in Christchurch central. They are the largest game developers in the south island, releasing downloadable games on home consoles such as the Wii. |
| | | |
− | == Ideas for my Design Study ==
| + | [[Kris's Design Study]] |
− | | + | |
− | I'm just putting up some ideas here. Please comment in the discussion page if you have any suggestions, but please don't do my work for me ;)
| + | |
− | | + | |
− | === COSC460 - Texturing methods for terrain rendering using GPU based methods ===
| + | |
− | | + | |
− | Probably won't be suitable for several reasons. I did not create and probably will have no need to modify the majority of the code as it covers the main terrain rendering algorithm (ROAM) etc. Most of my time is spent in the shader code itself, which exists outside of object orientedness. Of course there will still be design considerations (use of functions, code repetition etc) but it would be difficult to apply most of our OO knowledge. Shaders are also very picky in their implementations so I have had to throw some ideas out the window (functions, arrays, dynamic branching and loops are fairly recent developments in shader land).
| + | |
− | | + | |
− | On the other hand, I know for a fact I have violated some decent design considerations. I know I have at least one case of inheritance for implementation. Or perhaps there's a bigger problem. One red flag may be that I have been primarily editing one class, whose primary job is to interface with the shaders.
| + | |
− | | + | |
− | Here is a class diagram taken directly from Visual Studio (using C++). Not really UML, doesn't even show compositions.
| + | |
− | | + | |
− | [[Image:terrainClass.png]]
| + | |
− | | + | |
− | In addition to this there is the shader code which consists of two files, a vertex shader and a fragment shader which are compiled and linked at runtime.
| + | |
− | | + | |
− | I only created two of these classes; ShaderSplat and BasicTexture. I have also edited DEMHeightMap a little.
| + | |
− | | + | |
− | One thing to note: Texture is a bit of a misleading name for the abstract class. It should probably be called something more along the lines of TexturingMethod. Basically the terrain can be rendered with different "Textures" and this can be changed at runtime. ProceduralTexture is the simplest (BasicTexture is even more misleading in that I don't think it will work the same as the others). DetailMap actually contains a ProceduralTexture and uses multitexturing to blend with a detail texture. TriGridTexture uses a method that allows a polygon to always be textured by a full copy of a texture, meaning individual polygons are clearly visible. ShaderSplat is my method that uses shaders.
| + | |
| | | |
| ---- | | ---- |
− | --[[User:Kris Nicholson|Kris]] 04:24, 4 August 2008 (UTC) | + | ''Hi Kris! Welcome back. Cool job! Can you tell us what you're working on at Stickmen? -- Wal'' |
− | I'm actually warming to the idea of using this for my project. Here is a class diagram. It only covers the Texture hierarchy (plus Image since that is closely related). | + | ---- |
− | | + | ''Hi Wal. Yeah, it can be pretty fun! Unfortunately I can't say too much, since this is a public site. I'm working on "Project I" currently. There's a teeny tiny bit of info and artwork on the Stickmen website I linked above. I've been doing tools development and also development on the main game and we use C++ primarily. Johannes works here too actually. He was on another project, but was moved to ours for the moment. -- Kris'' |
− | [[Image:texture1.png|thumb]]
| + | |
− | | + | |
− | Hmm...well it's shouting out Decorator/Composite to me except for one thing. DetailMap and ShaderSplat are completely at odds with each other. That is, it would be impossible for ShaderSplat to use a DetailMap for its texture and vice versa. It would also be impossible for a ShaderSplat to contain a ShaderSplat etc.
| + | |
Hi, I'm Kris.
I completed my studies at Canterbury University in 2008 with a first class BSc(Hons). I am now working at Stickmen Studios in Christchurch central. They are the largest game developers in the south island, releasing downloadable games on home consoles such as the Wii.