Archive for January, 2009

Weekly Report 4

Wednesday, January 28th, 2009

Science:

Figured out how to properly represent directional/spot lights in the FI3RST environment.

Examined data from study and encouraged more study recruitment.

Engineering:

Implemented a feature requested by Fritz for a state modification in Agent Shop

Implemented directional light in FI3RST.  The sun is now represented as an infinatly far away directional light. This implementation could easily be extended allow for spotlights to produce dynamic lighting and flashlight effects if we want to do night based military sims.

Implemented mutli-camera rendering in FI3RST.  Discovered how to render the cameras view frustrums automatically which is very nice (.showFrustrum).  Implemented orthographical rendering in FI3RST.  Implemented Shadow rendering via a filtered shadow map and an extension to the shader to preform a depth using the inputed shadow map and then modulate the lighting based on the results of this test.

Next Up:

Window shader for Shawn to use in modeling simulating low transparency and just a smidge of specular reflection from the world environment map.

Directional wind to give a smidgion of ambient animation to the world (clouds, trees)

Figure out how to force rendering and not rendering for specific cameras, right now we have the choice of shadows or sky since the sky blocks out the shadow camera.

Be on tap for feature requests and extensions to the Agent Shop

Shadows Working

Monday, January 26th, 2009

Managed to get the shadows implemented correctly.

Here are the trees seen shadowing a model.


Week 3 Status

Thursday, January 22nd, 2009

Science:

Devised methods to better represent trees and sky into the FI3RST environment.

Examined data from study and encouraged more study recruitment.

Engineering:

Cleared several bugs and issues from the AgentShop

Implemented sky and tree drawing code for FI3RST.  Worked on object placement.  Generated lots of textures.

Wrote sky shader.

Sending FI3RST skyward

Tuesday, January 20th, 2009

Just got done adding some skyrendering technology to the FI3RST code base. The sky system I implemented uses a hybrid of sky sphere and sky box technology and pulls the best features out of both of them.   The textures for the sky are assembled from 6 seamless textures arranged in a skybox form, this is then loaded in a cubic texture map.  Then a skysphere is rendered into the world which performs lookups on the above mentioned cubic texture map in a shader to project the skybox onto the skysphere.  This eliminates the texture ripping that occurs near the poles with skyspheres and the obvious edges that skyboxes produce.

Week 2 Status Report

Wednesday, January 14th, 2009

 Engineering:

Worked extensively in FI3RST during the past week.  Implemented a custom high quality lighting model and bump mapping.  Got my hands around the automatic shader code generation system in use in python and figured out how to access all of the passed in parameters.  The currently lighting model supports 7 lights(all we were using) of point type, as well as an 8th ambient light.  Specular and diffuse are currently caluclated on a per pixel value with constant, linear, expoential light attentuaition with distance from the light source.  Lighting color can also be defined.  All the controls for the lighting shader are contained inside the Lighting.py class and ligthing is defined globally for all nodes on the scene graph.   Bump mapping is implemed using the simple technique of peterbing the interpolated normal at each fragment location based on a normal pulled from a texture map.  Currently texture maps for normals must be passed in as .jpg’s as that the panda shader binder is kinda dumb and only looks for that type of file,  this is sub optimal as .jpg is a lossy format.

I also performed extensive renevations on the behavior shop currently it supports custom controls to define paramaters to triggers and behaviors in a much more universal manor.  Eventually these controls will be created on the fly based on paramaters passed in from behave engine and FI3RST and the frame work is in place to do this but for the moment they are hard coded.

I am continuing to polish and improve the user experience in agent shop and bring the user logging up to a functional level, but it is tentatively ready to go.

Also I discovered through beating my head against a wall that wxPython does not like to dynamically create new tools on the fly via method calls.  Apparently there is some form of finalization after the constructor and _init_ctrls conclude which prevents the addition of new controls to a screen.

Science:

Looked through the study results found that most people used verbage compatable with ours.  We might want to look at action specific verbage to correspond to certain actions in the future.  For example instead of placing the bomb most people wanted to “plant” the bomb.  For events like that we might want to provide a little more custimization than the generic “place object – type : bomb”

Week 1 Status update

Wednesday, January 7th, 2009

Engineering

Deciphered the Event model in panda 3D. – Tasks can be created for the task manager to run a method every frame.

Figured out the Matrix Space model in Panda – It has a very complex but powerful auto matrix generate that it exposes to the shaders – called using the format [trans, tpose]_[world,view, model,project]_to_[world,view,model,project]

Figured out how the bind shader symantics in panda very simple method that does pretty much everything for you even easier than XNA

Implemented custom silouqete edge detector via shaders since it is good spring board into lighting and bump maping and is really easy to tell when something is not correct.(see pictures)

AndiwithEdgeDetector

Science

Read a great article on how the squad AI works in Company of Heroes in Game AI wisdom 4. As well as several articles on rebuilding damaged navigation meshes.

To Do:

Implement lighting and relief mapping in panda3d via a shader.

Clean up interface in preperation for human trials.

Week 52 Report

Monday, January 5th, 2009

Year End Review

Engineering:Worked on DASSIE agent builder
Helped on DASSIE world
Produced a functional version of DEACCON
Implemented 2 online study designs using php

Science

Related work groundwork for DASSIE
Improvements to DEACCON speed and correctness
Evaluation algorithms/metrics for decomposition quality assesment
Work in dynamically rebuilding DEACCON regions
Great presentation and discussion of DEACCON and DASSIE at AIIDE

Papers:

Submitted AAAI -Initial ASFV work- Rejected
Submitted AIIDE -Initial ASFV improved -Accepted and Presented
Submitted FLAIRS – Repairing ASFV for dynamic worlds – Under consideration
Submitted FDG – Metrics for Decompositions – Under consideration