<< HOME




<< Development history (2009)




Development for the following features has been funded thanks to
users who purchased their license fee, when 3D Rad was a commercial product.


DECEMBER 2008 RELEASE


3D Rad Editor
  • Minor changes only, required to support updated objects.


  • 3D Rad Compiler
  • Added option to prevent your stand-alone project from being run in windowed mode. This is useful if your project uses mouselook functionality, which takes control of the mouse pointer and makes the compiled project window difficult to resize, move etc.
  • Added option to minimize the size of loaded textures when users of your stand-alone project select a display size smaller than 640x480 pixels.


  • RigidBody
  • Rigid-bodies can now be attached to individual bones of animated SkinMesh objects. The updated 3D Rad software now let's you attach RigidBody objects to individual bones of an animated 3d character. This is a tremendously powerful feature you can use, for example, to make an animated soccer/football player (standard 3d character!) actually kick (physics!) a ball!.
  • The algorithm using linear force parameters for path-following functionality has been improved to make tweaking easier. Note that any RigidBody object using path-following in your existing projects will have to be re-tweaked, after you update to 3D Rad v6.29.


  • Script
  • Added i3DLocationToScreen() function. See sample project called i3DLocationToScreen.3dr for usage example.
  • Added iScreenRay() function. See sample project called iScreenRay.3dr for usage example.
  • Added i3DPointVisible() function.
  • Added iRenderingEnable() function.
  • Added iShadowsEnable() function.


  • EventOnLocation
  • The detection zone can now be attached to any object supporting physics.
  • The detection zone orientation/location can now be set run-time by using a script.


  • EventOnContact
  • Fixed buggy collision feedback for individual car parts (wheels, body).


  • Spring
  • Fixed internal parameters not working when set from a script.
  • Fixed spring values in the property dialog to be altered by runtime changes.


  • Character
  • Fixed reset causing the character to progressively move back to its recent location.


  • SkinMesh
  • Fixed wrong orientation of objects attached to individual bones of a scaled SkinMesh.


  • Sprite
  • Fixed camera-specific sprite not showing when assigned to multiple switchable cameras.


  • TextPrint
  • Fixed camera-specific text not showing when assigned to multiple switchable cameras.


  • ValuePrint
  • Fixed camera-specific value not showing when assigned to multiple switchable cameras.


  • Documentation
    The following documents have been updated (use Ctr+F to search for suggested keywords):
  • RigidBody Modeling, look for 'stretched triangles'.
  • 3D Rad Compiler help file, look for 'can run windowed'.
  • Script object's help file, look for new function names (see above).




  • NOVEMBER 2008 RELEASE


    3D Rad Editor
  • User-configured controls (ConfigureControls object) can now be shared between different compiled projects.


  • SkinMesh
  • Skinmesh objects can now be attached to individual bones of any other SkinMesh in the scene (for animated characters carrying swords etc). See SkinMeshBoneDemo.3dr project.
  • Added billboard rendering mode (see rendering mode in Skinmesh object's help file).


  • PointLight
  • Point lights sources can now be attached to individual bones of any animated SkinMesh (for animated characters carrying torches etc). See SkinMeshBoneLightDemo.3dr project.


  • Particles
  • Particle emitters can now be attached to individual bones of any animated SkinMesh (for fire following an animated dragon's mouth etc). See SkinMeshBoneParticlesDemo.3dr project.


  • Trail
  • Trail emitters can now be attached to individual bones of any animated SkinMesh. See SkinMeshBoneTrailDemo.3dr project.


  • Script
  • Added iObjectBonesCount(), iObjectBoneOrientation(), iObjectBoneLocation() functions.
  • Fixed iStringMid() function and related documentation.


  • RigidBody
  • Fixed bug causing all objects supporting physics in the scene to miss collisions when one RigidBody object was disabled.
  • Fixed buggy run-time reset, when the 'Enabled at start' option was unchecked.


  • Car
  • Fixed bug causing all objects supporting physics in the scene to miss collisions when one Car object was 'not-visible-at-start' (disabled).


  • Ball
  • Fixed bug causing all objects supporting physics in the scene to miss collisions when one Ball object was 'not-visible-at-start' (disabled).


  • Joint
  • Fixed property dialog parameters failing to reset after corresponding internal parameters were changed run-time by using a script.
  • Fixed crash when spin/torque was set to a non-zero value, while the Joint wasn't connected to RigidBody objects.


  • Velocity
  • Fixed bug causing run-time orientation setting to fail sometimes.
  • Fixed property dialog's velocity parameter failing to reset after corresponding internal parameter was changed run-time by using a script.


  • Force
  • Fixed bug causing run-time orientation setting to fail sometimes.
  • Fixed property dialog's force parameter failing to reset after corresponding internal parameter was changed run-time by using a script.


  • SunLight
  • Fixed shadow color settings not resetting when a new project was opened.


  • Terrain
  • Added 'Receive shadows' property dialog option.




  • OCTOBER 2008 RELEASE


    3D Rad Editor
  • The framerate for large projects with many objects linked to the Script object was dramatically improved by removing a recently discovered processing bottleneck.


  • 3D Rad Compiler
  • Compilation is now several times faster, if the optimization (.cmp) file is found for the project to compile.


  • Script
  • The 'Find Seleced Text' button's functionality has been improved to allow for easier search and replace operations (select replacement text, do Ctrl+C, select text to replace, click button, do Ctrl+V, click button again, do Ctrl+V and so on).
  • Added iNetFloatArraySendEx() function.
  • Added iSettingsDialogDisable(), iSettingsDialogEnable() functions.
  • Added iCommand() function.


  • ConfigureControls
  • Added option to disable start-configuration-mode hotkey.
  • Added internal parameter flag allowing you to determine when user's remapping procedure is complete.
  • Fixed configuration screen sprite not going away when switching to a different compiled project, before finishing configuration procedure.


  • Character
  • Fixed character returned orientation being always null when read from a script, when character was in target-following mode.


  • Sprite
  • Fixed bug causing mouse-picking to fail in compiled projects.


  • SkinMesh
  • Fixed bug causing mouse-picking to fail in compiled projects.


  • RigidBody
  • Fixed bug causing mouse-picking to fail in compiled projects.


  • Terrain
  • Fixed bug preventing terrain model from being included to compiled project when 'fast rendering' option was checked.
  • Fixed bug causing mouse-picking to fail in compiled projects.




  • SEPTEMBER 2008 RELEASE


    3D Rad Editor
  • A brief project description now appears when you hover over an item, in the Open Project dialog browser (Windows XP only).
  • New example projects (run 3D Rad, press Ctrl+O to open/examine them): UnderwaterDemo.3dr UnderwaterCameraFilter.3dr, BloomDemo.3dr, MouseOverSkinMesh.3dr, MouseOverSprite.3dr, CharacterNoMouseDemo.3dr.
  • New underwater effect demo (compiled stand-alone executable). Download at home page.
  • Fixed bug preventing iEscKeyEnable(), iEscKeyDisable() functions to work properly.


  • 3D Rad Compiler
  • Fixed bug preventing some resources from being included to the compiled project, causing crashes sometimes.


  • CamChase
  • Added camera filters (post-processing) support. Blur and Bloom effects.
  • Automatic avoidance of obstacles was improved further, to support non-horizontal objects too.


  • Script
  • Added iJoyCount(), iJoyButtonDown(), iJoyX(), iJoyY(), iJoyZ(), iJoyXAverage(), iJoyYAverage(), iJoyZAverage() functions.
  • Added iVectorCompare(), iQuaternionCompare(), iVectorLengthSq(), iVectorLengthSet(), iVectorDot(), iVectorCross() functions.
  • Added iVertexShaderVersion() and iPixelShaderVersion() functions.
  • Property dialog's Save/Load buttons have been restored.
  • Fixed search option only looking into the first half of the script.
  • Fixed iEscKeyEnable(), iEscKeyDisable() functions.
  • Fixed iObjectScan() failing for certain static RigidBody objects when they were rotated.


  • PointLight
  • Fixed delay when the light was attached to a moving object.
  • Fixed light geometry not following the light source, run-time.


  • RigidBody
  • Fixed unnecessary warning dialog box appearing in compiled projects where the 'Use bounding-sphere' option was used.


  • Sprite
  • Added 'Detect mouse-over event' option.


  • SkinMesh
  • Added 'Detect mouse-over event' option.


  • Trail
  • Added 'Expansion speed' parameter to property dialog.


  • TextPrint
  • Fixed default 'hello world' text replacing empty text box when project was reloaded.


  • Airfoil
  • Added 'Surface area' internal parameter, allowing you to dynamically alter or disable lift force run-time, via Script.


  • ConfigureControls
  • Controls mapping procedure can now be initiated by starting this object itself from a script or by using an event object.


  • Character
  • Mouse-look functionality can now be overridden in a script, to use other input controls instead (see CharacterNoMouseDemo.3dr project).




  • AUGUST 2008 RELEASE


    3D Rad Editor
  • Fixed font-based objects to blur when certain SkinMesh LOD settings were used.
  • Fixed certain objects vanishing when they were scaled up.


  • Character
  • Added CharacterDemo.3dr project and a new video tutorial about Character object usage.
  • Added support for target objects (can be used as basis for A.I. scripts and/or path-constrained movements).
  • Input controls can now be also controlled run-time by using a Script.


  • SkinMesh
  • Added glass shader with bump-map animation support and scaling (thanx Genetransfer for the original code!). See WaterDemo.3dr and GlassDemo.3dr for examples of usage.
  • Path speed and path time can now be also controlled run-time by using a Script.
  • Fixed 'Visible In Reflections' option not always updating after being changed.


  • Script
  • Enlarged script window.
  • Added 'Find Selected Text' button.
  • Added iFrameRate(), iGammaSet(), iEscKeyDisable() functions.
  • Added iObjectVelocity(), iObjectKmh(), iObjectSpin() functions.
  • Added iObjectPositionReset() function.
  • Modified/fixed behavior for iInitializing() iDeinitializing() functions.
  • Raised number of Script's internal parameters to 9 (VAL_1/9).
  • Fixed working state not being restored when the object was reset by another object.
  • Fixed Script's own internal parameters not working properly when accessed by other scripts.
  • Fixed strange mnemonics being inserted in the script when certain keys where pressed with Ctrl.
  • Fixed horizontal scrollbar (script window) not working always properly.
  • Fixed iObjectPicked() function not returning pick location right, in some cases.
  • Fixed network functions' dialogs not showing the mouse when an active Cam1StPerson object was in the project.


  • Car
  • Almost all property dialog parameters are now also adjustable run-time via Script object. NOTE: to enable new parameters for a Script object in a project created with previous versions of 3D Rad, copy the script code, remove the Script object, add a new Script object, re-link it to all objects and paste the previously copied code.


  • CarAI
  • Fixed chase mode not working unless the object was linked to a Path.
  • Fixed visibility and working state not being restored when the object was reset by another object (e.g. Script).


  • Sprite
  • Fixed visibility and other parameters not being restored when the object was reset by another object (e.g. Script).


  • SoundSource
  • Fixed sound source not following parent when the object was also linked to a Script object.
  • Fixed volume and frequency setting being lost when the property dialog was closed.
  • Fixed working state not being restored when the object was reset by another object.
  • Fixed 'bind to speed' functionality not working properly when used for cars going in reverse.


  • SoundEffect
  • Fixed volume and frequency setting being lost when the property dialog was closed.
  • Fixed working state not being restored when the object was reset by another object.


  • Cam1StPerson
  • Fixed object orientation not being readable from a script.


  • TextPrint
  • Added opacity internal parameter.


  • ValuePrint
  • Added opacity internal parameter.


  • Joint
  • Fixed crash when motor spin internal parameter was set at every loop in a script.




  • JULY 2008 RELEASE


    3D Rad Editor
  • Added 'Edit -> Move Object To Cursor (Aligned)' option.
  • Fixed wrong 3d cursor placement for meshes with more than 65536 vertices.


  • 3D Rad Compiler
  • Fixed multilevel projects not working on Vista.
  • Fixed multilevel projects optimization not working sometimes.


  • SkinMesh
  • Added mip-mapping settings, which can be used to boost frame-rate significantly and tweak texture rendering quality.


  • Cam1StPerson
  • Added viewport settings (multi-view and split-screen support).
  • Added 'working-at-start' option.
  • Fixed drifting view when Cam1StPerson was stopped.
  • Fixed view not being disabled when Cam1StPerson was hidden.


  • CamChase
  • Added mirror view option (rear mirror views etc).


  • RigidBody
  • Fixed bounding sphere mode scaling not working always properly.


  • Car
  • Fixed proportional steering not working before the analog control was half-pushed/pulled.


  • SoundSource
  • Added 'change' button on property dialog (cloning the object to add your custom sounds is no longer needed).
  • Fixed crash when a stereo .wav file was used.


  • SoundEffect
  • Added 'change' button on property dialog (cloning the object to add your custom sounds is no longer needed).


  • Script
  • Fixed iKeyCode() not working always properly.


  • ConfigureControls
  • Fixed resources not getting included to compiled project folder (optimized mode only).


  • ValueLabelBar
  • Fixed resources not getting included to compiled project folder (optimized mode only).


  • Google SketchUp Exporter Plug-in
  • Fixed generic DirectX exporting functions.




  • MAY 2008 RELEASE


    Released 3D Rad Exporter plug-in for Google SketchUp, which directly exports to SkinMesh and RigidBody objects, along with their icon

    Implemented automatic conversion of .x files to ply/pol and spg data, making the procedure completely transparent to the user, and the 3Impact Converter utility no longer necessary

    3D Rad
  • Added compiler optimization files generation (see compiler, below)
  • Undo/Redo system has been made more robust, now saving the complete project state for small changes too.
  • Fixed bug preventing objects that can snap together (like road pieces) to always join properly when rotated.


  • 3D Rad Compiler
  • Added optimization to minimize compiled project folder size.


  • RigidBody
  • You can now refresh the RigidBody object in the Virtual Editor (without re-loading the whole project), after you have modified its .x files with another application, by pressing R.


  • SkinMesh
  • You can now refresh the SkinMesh object in the Virtual Editor (without re-loading the whole project), after you have modified its .x file with another application, by pressing R.
  • A more efficient rendering culling is now in place for SkinMeshes that are all present in the scene at the same time, but not visible on the screen. This considerably improves frame-rate for large projects.
  • Identical texture files that are used multiple times for different SkinMesh objects no longer increase the amount of texture data in memory, as long as their filenames are also identical.
  • Added 'Animation duration' parameter to property dialog.
  • Default YellowFish aspect has been remodeled/resized.
  • Fixed crash when trying to load a missing .x file.


  • Script
  • Added iFileStringRead(), iFileStringWrite() functions.
  • Added iTypedChar() function and sample project for it (InputText.3dr).
  • Added iKeyDown(), iKeyCode() functions.
  • File functions now support network shared-drive paths (like '\\NetworkName\Folder\SubFolder\').
  • Fixed iObjectOrientation(), iObjectLocation() not working properly with the Car object.


  • Fog
  • Fog-start and fog-end distance can now be dynamically set by a Script object.


  • EventOnLocation
  • Added internal parameter for current entering/exiting volume condition, allowing you to access the object status in a script as well.
  • Fixed bug causing the volume to be partially invisible sometimes.


  • Cam1StPerson
  • Removed obsolete options from the property dialog.


  • Character
  • This new object is a generic walking character layout you can use to interactively bring your static and animated meshes about in the scene.




  • APRIL 2008 RELEASE


    3D Rad
  • Added mouse editing (Virtual Editor) for 2D object (Sprite, TextPrint, ValuePrint)


  • Velocity
  • This new object makes it very easy to set the initial dynamics state for certain objects in a project. For example, the motion of a planet orbiting around a sun, the speed in a game level starting with an airplane in flight and so on.


  • Spring
  • This new object allows you to link two objects together by using an 'elastic' force.


  • SkinMesh
  • Fixed message saying, in error, that custom 3d models contained animation and couldn't be loaded.
  • Fixed delay in setting/getting skinmesh positions for the iObjectOrientation(), iObjectLocation(), iObjectOrientationSet() and iObjectLocationSet() functions.


  • Sprite
  • Added rendering priority settings.
  • Added image browser with thumbnails to select the sprite source image.
  • Added support for mouse editing (Virtual Editor)


  • Script
  • Added the following new functions: iObjectTextSet(), iStringLen(), iStringUCase(), iStringLCase(), iStringLeft(), iStringRight(), iStringMid(), iStringStr(), iStringVal(), iStringFind(), iStringReplace(), iNetStringSend(), iNetStringReceive(), iDisplayWidth(), iDisplayHeight().


  • Car
  • Added front-wheel drive, rear-wheel drive settings.
  • Added crash damping threshold speed parameter.


  • CamChase
  • Algorithm preventing camera from going through solid objects is now more robust.


  • G-Force
  • Fixed 'working-at-start' status not resetting properly when the objects was reset by another object.


  • Airfoil
  • Fixed warning message saying, in error, that the airfoil could not work with some linked objects that don't support physics.
  • Fixed turning controls failing to reset properly when the Airfoil object was reset by another object or by a script.
  • Fixed bug preventing the airfoil from linking properly to cars.


  • Terrain
  • Fixed degenerate polygons in the collision geometry that caused random crashes.


  • Wheel
  • Fixed reverse not working properly.
  • Fixed bug preventing the wheel from linking properly to the Car object.
  • Placeholder geometry is now hidden in virtual editor as well, if set as hidden in the property dialog.


  • TextPrint
  • Added support for mouse editing (Virtual Editor)


  • ValuePrint
  • Added support for mouse editing (Virtual Editor)
  • Fixed displayed value not resetting to zero when going back to editing mode


  • Trail
  • Fixed trail not being properly reset when the whole object was reset by another object run-time.


  • ExitFade
  • Fixed bug causing compiled level to fail to exit when fade time was zero.


  • RigidBody
  • Placeholder geometry is now hidden in virtual editor as well, if set as hidden in the property dialog.


  • Force
  • Fixed bug preventing force from working always properly with cars.


  • Joint
  • Fixed bug preventing joint from working always properly with cars.




  • MARCH 2008 RELEASE


    Airfoil
  • Make any sort of aircraft/submarine vehicle by attaching this object to any other object supporting physics.


  • Wheel
  • Make any sort of wheeled vehicle by attaching this object to any other object supporting physics.


  • 3D Rad
  • Fixed bug causing linkage information to be lost for multi-part objects (like cars) sometimes while editing the object list.
  • Fixed recent project list bug causing same project to be listed twice sometimes.


  • 3D Rad Compiler
  • Fixed bug causing sometimes compilation to fail when SkinMesh was part of the project.
  • Fixed bug crashing certain projects when switching from a level to another.


  • CamChase
  • The camera can now be set to avoid passing through solid objects like the terrain.


  • Script
  • Added networking functions!
  • The following functions have been added: iObjectScan, iFloatSqrt, iFloatTendTo, iVectorLength, iNetServerStart, iNetClientStart, iNetStop, iNetFloatArraySend, iNetFloatArrayReceive, iNetFloatArraySet, iNetFloatArrayGet, iNetPlayersCount, iNetPlayerId, iNetLocalPlayerMachine, iNetPlayerMachine, iNetClientDisconnect, iNetSessionTerminated, iNetPlayersChanged, iNetLag, iNetBPS, iNetBytesSent, iNetBytesReceived.


  • RigidBody
  • Added 'change' button to the property dialog.


  • ValuePrint
  • Added letters to the set of printable characters.
  • Added support for dynamic (run-time) scaling by using a script.


  • EventOnContact
  • Fixed bug causing internal parameter to be zero on contact when no special condition options were set.


  • CarAI
  • Fixed bug preventing CarAI mode from resetting when going back to editor, after it was changed runtime by a script.


  • Car
  • Fixed bug preventing brakes factor from resetting when going back to editor, after it was changed runtime by a script.


  • SolidBoard
  • Added 500x500 meters wide board.


  • TextPrint
  • Fixed glitch displaying visual artifact below letter 'P'.




  • FEBRUARY 2008 RELEASE


    PointLight
  • This object allows you to add colored point lights to your projects, besides the main SunLight object based light.


  • CamChase (full version)
  • Added camera shaking effects to simulate human handling, quakes, dinosaur steps, vibrations caused by high speed and so on.
  • Added FOV internal parameter to allow run-time changes of camera's zoom.


  • ForceFeedback
  • This object allows you to control any input device supporting force-feedback. For example you can activate the torque in a steering wheel or the force pulling a joystick as a consequence of events in your 3D Rad project (like a car crashing or speeding over a rough surface).


  • 3D Rad
  • Added list of recently opened projects to the pull-down menu.
  • Made automatic reload of the last edited project optional.
  • Fixed bug causing 'pure' lights (pure blue, pure green) to render illuminated surfaces as completely dark.


  • 3D Rad Compiler
  • Added support for project-specific images to display while loading levels in compiled executables.


  • SkinMesh
  • Added point lights support.
  • Added support for run-time scaling (dynamic stretching effects) controlled by a script.
  • Added emissive (unlit) rendering shader.
  • Optimized default shader to boost rendering speed to the max.
  • Fixed 'current-frame' internal parameter not being readable by event objects and scripts.


  • Script
  • Added the following functions: iMouseX(), iMouseY(), iMouseZ(), iMouseButtonDown(), iMouseButtonClick(), iMouseLookX(), iMouseLookY(), iMouseLookSet(), iMouseLookSpeedSet(), iMouseLookYRangeSet(), iObjectScalingSet().
  • Added the following example projects: ControllingCameraOrientationWithMouse.3dr, ControllingCameraZoomWithMouseWheel.3dr.


  • Sprite
  • Sprites can now be rendered in specific viewports only (useful in splitscreen projects etc).
  • Add support for run-time scaling (dynamic stretching effects) controlled by a script.
  • Fixed bug preventing location and orientation to be set runtime by using a Script.


  • TextPrint
  • Texts can now be rendered in specific viewports only (useful in splitscreen projects etc).


  • ValuePrint
  • Digits now can be rendered in specific viewports only (useful in splitscreen projects etc).


  • Particles
  • Fixed bug causing particles to 'accumulate' while the objects was not working (stopped) and to be released in a burst when the objects was started/re-started.
  • Fixed small bug potentially crashing when a project was stopped in the editor.


  • Trail
  • Fixed small bug potentially crashing when a project was stopped in the editor.


  • SunLight
  • Fixed possible bug causing sometimes a crash on exit (compiled projects only).


  • Terrain
  • Added point lights support.


  • Tree
  • Added point lights support.


  • Car
  • Wheel's X offset can now be negative.




  • JANUARY 2008 RELEASE


    Car Layouts
  • A collection of ready-to-use car layouts for the Car object.


  • 3D Rad
  • Added support for new and improved objects.


  • SkinMesh
  • added support for multiple animation sets and run-time control of what animation set to play (either via Event objects or Script)
  • added smooth animation blending when switching from one animation set (e.g. walking) to another (e.g. running)
  • added frame-animation functionality. Animation can now be achieved also by using a sequence of different .x files
  • added 3d model library management. You can organize all your own 3d models in a library without having to clone the SkinMesh object
  • fixed bug preventing some bone-animated models to load properly
  • fixed a number of small bugs


  • Car
  • added wheel offset/size parameters to property dialog
  • added options to hide car-body/wheels geometry (useful when you render the car with custom SkinMesh-based geometry)
  • added ability to place the virtual editor cursor to the center of individual parts of an object, like the wheels of a Car
  • fixed throttle not working properly when the car was driven upside-down in a radial-gravity-based system (e.g. lower hemisphere on a planet)
  • fixed current car's .ini file not being always re-read after it was updated unless 3D Rad was closed and re-launched


  • Script
  • fixed iSystemTime() function returning UTC-based time instead of local time


  • HighwayConstructionKit
  • fixed normal maps not working for non-asphalt details


  • Joint
  • fixed rotational limit hardness/strength factors crashing the program when set to zero




  • Development history (2007) >>