From: <mk...@us...> - 2003-06-26 09:29:18
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim In directory sc8-pr-cvs1:/tmp/cvs-serv11273 Modified Files: CHANGES.current Log Message: Index: CHANGES.current =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/CHANGES.current,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** CHANGES.current 22 Jun 2003 08:59:29 -0000 1.33 --- CHANGES.current 26 Jun 2003 09:29:15 -0000 1.34 *************** *** 2,5 **** --- 2,80 ---- =========================== + 2003-06-24: onsight + Added Profile.h which has simple but handy profiling + macros. There's a new PROFILE log target in Log.h as + well. + + CSPSim.py now takes a --log parameter to specify which + log targets to record. E.g.: + + CSPSim.py --log=PROFILE,PHYSICS + + Note that if multiple targets are specified they must + be separated by commas (,) with no spaces. The target + names are the same as in Log.h, but without the leading + 'CSP_'. + + Changed EngineDynamics to only reevaluate the thrust + during the preSimulationStep() call, rather than during + update(). This should still provide more than enough time + resolution. + + Reimplemented the ground collision code to simplify the + design and fix some bugs. + + Reimplemented the landing gear dynamics code. The design + is somewhat saner now, and most importantly it does not + make internal state changes during the rk evaluations. + The monolithic simulation method is now broken into more + manageable pieces, and some new features such as brake + temperature modeling have been added. There is still + some numerical instability when the wheels are locked and + the system behaves as a stiff harmonic oscillator (tires). + When the damping is too high, extreme instabilities can + occur. Even without violent behavior, the rk code generally + slows down and works too hard trying to simulate the + oscillation. Not sure at this point how best to fix the + problem. + + Updated the GCC Makefile.in. Probably more changes still + needed to integrate CSPChunkLod smoothly. + + ==========> WIN: Changed *PhysicModel to *PhysicsModel. Update the + project files accordingly: + PhysicsModel.cpp + AircraftPhysicsModel.cpp + + ==========> WIN: Theater code now in separate subdirectories under + Include/Theater and Source/Theater. All the files in + Source/Theater need to be added to the project. + + Changed BaseDynamics::update(dt) to computeForceAndMoment(x) + to reduce confusion with other update methods in the sim + that take real (sequential) time interval parameters. + + 2003-06-22: onsight + Added StateSet to text objects to disable texturing with + tex units 1-3. Shouldn't be necessary, but it helps to keep + the text from disappearing when terrain multitexturing is + enabled. This is just a bandaid, not a cure. + + Implemented brake_limit for landing gear. This is the + maximum static force (in newtons) that each brake can produce + (independent of tire friction). It should be set to zero + for wheels that do not have brakes. + + Fixed a bug in the brake lowpass filter that reduced the + brake setting by 1/2. + + Added brake-steering linkage, which allows much tighter + turning radii. Set brake_steering_linkage to -1.0 for + left-side gear and +1.0 for right-side gear. An additional + multiplier is passed as the second parameter to setSteering. + Brake-steering adds to normal braking, but the total + braking force is still constrained to [0, brake_limit] of + course. + 2003-06-20: delta Moved updateNearGround() outside loop in AircraftPhysicModel::doSimStep. *************** *** 10,13 **** --- 85,101 ---- added EngineDynamics::setThrottle. + 2003-06-19: onsight + Fixes in AircraftPhysicModel::doSimStep to correctly update + position when multiple internal timesteps are used. + + Added missing Feature.cpp. Together with the postCreate + fix to SimData, makeFeatures is now running correctly. + + The postCreate fix also cures the gear sprite placement + problem when starting in the air. + + Renamed osgChunkLod-double director to CSPChunkLod, which + is now in cvs. + 2003-06-19: delta ==========> GCC USERS: add Engine.cpp, BaseDynamics.cpp, Collision.cpp, *************** *** 55,68 **** --- 143,265 ---- ~SmokeTrailSystem() and ~SceneModel(). + 2003-06-11: onsight + Added a link from Feature to the associated FeatureObjectModel. + + Added an "elevation correction" option to ObjectModel. The + default is true, which means that features will be floated + relative to the local terrain elevation. If false, Z=0 is + the reference elevation for the model. This can be used for + models that are decaled to the terrain surface and already + incorporate the local elevation variations. In principle, + this functionality and some other parts (e.g. contacts) should + be separated into subclases of ObjectModel (VehicleObjectModel, + DecalObjectModel, FeatureObjectModel, etc). + + 2003-05-14: onsight + Some battlefield code cleanup. + + New --log=XXX:YYY option for CSPSim to set the logging + classes. For example: --log=APP:BATTLEFIELD:PROFILE + + Use for the new SimData LLA class to specify object coordinates + in latitude, longitude, altitude. TerrainObject now defines + a center latitude and longitude (set in XML), and the geographic + coordinates around this point are mapped into the sim's flat + coordinate space using a secant gnomonic projection. This + projection is not the same as was used for the Balkan terrain, + so object coordinates will not exactly match the terrain. + Internally, the (x, y) coordinate system is now relative to the + center of the terrain rather than the southwestern corner. The + internal coordinates used by demeter are unchanged, so an + offset is applied whenever camera positions are passed to + demeter. + + 2003-05-06: onsight + New RandomForestModel for building random assortments of + 'X' quads. I haven't been able to turn of back-face culling + (not sure the normals would work out right even if I could), + so I'm drawing 4 quads per tree (both sides of each plane of + the 'X'). Seems to work, and is faster than billboarding, + but doesn't look as nice especially wrt lighting. + + Added normals to billboard quads, renamed the class to + FeatureQuad. + + Changed the interactions of LayoutTransform, FeatureSceneModel, + and ElevationCorrection. Fixed the elevation correction. + + Renamed m_fdisToObject and m_fangleRot* to m_DistanceToObject + and m_AngleRot* in GameScreen. Added m_MinimumDistance which + is set to the active object's bounding sphere radius plus a + couple meters. The prevents clipping of the model by the + near plane in external views. You can still clip into other + models that are nearby of course. + + Added a second SceneView to VirtualScene. The original SceneView + is now called m_FarView, and the new one is m_NearView. NearView + has the lighting group, and a group for objects near the camera. + NearView is only used if this later group is not empty. + VirtualScene::draw() first renders the FarView with the near + clip plane set to 1-3 m. This relatively large value helps to + reduce Z-fighting far from the camera. Then the depth buffer is + cleared and NearView is rendered with the depth frustum from 1 + cm to 100 m. Typically the player's vehicle and interface is + rendered in the NearView for internal views. GameScreen manages + whether the NearView or FarView is used based on the current + viewing mode (internal or external). + + Additional fixes to the HID keystate tracker. + + 2003-05-05: onsight + Added HID::translate to keep track of the keyboard modifier + state for each key that is pressed, and force that modifier + state again when the key is released. So for example, if + PRESS{NUM-6} maps to "begin pan-right", and RELEASE{NUM-6} + maps to "end pan-right", then: + + PRESS{NUM-6}, PRESS{SHIFT}, RELEASE{NUM-6}, RELEASE{SHIFT} + + never sent the "end pan-right" message since the modifier state + when RELEASE{NUM-6} arrived included the shift state. The new + translate method records that PRESS{NUM-6} occurred with no + modifiers, and temporarily overrides the modifier state when + the key is released. This method is currently only called by + CSPSim::doInput(). It is called for all input events, and may + eventually find uses for other event types (e.g. joystick). + + 2003-05-04: onsight + Small fix to the camera positioning correction that prevents it + from getting "stuck" to the ground. + + Added FeatureQuad class to Terrain.h for creating textured quads + used in billboards (e.g. trees). + + Similified RandomLayoutModel to use FeatureQuad. + + Added a couple XML files for trees under Data/XML/theater/trees + + Moved the osgDB search path setup out of VirtualScene and into + CSPSim::init(). All the paths are now relative to DataPath, + and there is a new accessor function in Config.h to make it + easier to access them. For example, getDataPath("ImagePath") + will return the full path for images (DataPath + ImagePath, if + ImagePath is not absolute). + 2003-05-04: delta Added a naive control of camera such that it keeps above ground. + Updated .net project. + Added a /Zm 1000 parameter in .net projects to avoid fatal compiler error. + Changed vehicle orientation at start. + Changed some Atmosphere function members to return float instead double to avoid some warnings. + Updated CSPSim.py to take account set_output <-> setOuput for log file. + Added a vehicle to load in testing item in ini file. The vehicle is specified in Vehicle. |