OSDM VOBJ and OBJ Vector Objects Tool V3.2Beta Release

Comments: No Comments
Published on: August 2, 2010

Although my last post was also about a VOBJ/OBJ tool release of mine, I decided to post another, because I made a significant amount of changes and additions to it to warrant giving it this kind of exposure and attention hehe.

I suggest reading the previous post “OSDM .VOBJ and .OBJ Tool V3.0Beta Released”, if you are interested in the general subject of “Oldskool Demomaker” by Testaware, 3D Vector graphics and Geometry math etc.

You can download Version 3.2B of my tool at    http://www.roysac.com/files/Roy-VOBJTOOL32B.zip

Also check out the included release intro RoySAC.com.exe hehe. You can find additional tools, resources and my own OSDM productions at the OSDM section of web site. There you will also be able to find always the latest version of my VOBJ/OBJ Vector Object Tool for Oldskool Demomaker.

So what’s new since my release of Version 3.0B? Here is the list of changes and additions, including comments and notes to the individual item.

Version 3.1B


  • NEW– Version History records started :)
  • UPD – Documentation extended (see especially “Last Notes” section)

Main Tool

  • UPD – Intersecting Polygon Detection Redone
  • NEW – Color Optimization also includes removal of not used Colors

Tools Section

  • NEW – VOBJ to Wavefront OBJ Converter
  • NEW – VOBJ to Renderware RWX Converter
  • UPD – New Version of Triangles to Quad Merger
  • UPD – Polygon Reduction Tool (own class now)
  • NEW – Switch to derive Output File Name+Path from Input File
  • UPD – Renderware (RWX) to VOBJ Converter Tool Offset Input no longer necessary
  • UPD – Render 386 (PLG) to VOBJ Converter Tweaked Offset Input no longer necessary
  • NEW/UPD – Old Triangles to Quads and Polygon Reduction Routines re-included. They are at the end of the tools selection and marked  with the suffix “old” in the name. The new routines don’t work as  well as I had hoped and the old routines sometimes produce better results.

Vector Object Generator

  • NEW – Parallelohedron (4 Different Objects)

Version 3.2

Tools Section

  • NEW – Inertia 3D Engine GFXFX3 (.GVO) to .VOBJ
  • NEW – Super 3D (.RAW) to VOBJ Converter
  • NEW – Bezier Surface _Nodes + _Rectangles (.TXT) to VOBJ Converter

None of those three converters handle colors or transparency, since those features are already absent in the original file format.

The GVO to VOBJ converter is the first Binary file to VOBJ converter that I have written. VBScript isn’t particularly made for handling of binary data, but it worked.

The GVO files are a simple binary mesh format, but unfortunately without settings for color or transparency. However, they had many nice meshes with their free 3D Engine release package that I decided that it is worth to write a converter for it. What also helped was the fact that he GVO file format was well documented by Inertia also.

I don’t know, if there are more meshes out there or even how they were/are created, but decided to include the converter in my tool anyway. I used many of the objects that I converted from there in my OSDM demo production “Oh Xee A Moron”, which was well received. Here is a video snapshot of it.

Backup URL to Video on youtube (http://www.youtube.com/watch?v=GA5K-jkDfCA&fmt=18).

Backup Link to Video on YouTube.com

  • NEW – 3DStudio ASCII (.ASC) to VOBJ Converter

This is not the binary .3DS or .MAX format! There is the option in Autodesk 3D Studio to export 3DS mesh data to Text/ASCII with the file extension .ASC.

I have not found a documentation for this file format and could not figure out yet, how (if they are exported) color and transparency information are stored in this format.

I use right now as a workaround the “Ambient light color” setting for the default color of an object, if this information is available. It’s not perfect, but better than nothing.

If you know how “diffuse” colors of surfaces or materials and transparency values are stored in the .ASC file format or have an example file where those information are included, please contact me and send me the file and I will implement it into my tool.

The Converter Module was practically rewritten and restructured. I moved in general a bunch of stuff around.    The original code was all classic sub routines and functions in a big VBS file. I am migrating it piece by piece to be “class” based. This causes some loss in performance, but it helps to keep the code better organized.

You might be surprised, by the entire tool with all its components is over 20,000 lines of code and the programming environment support for VBScript is very poor, although I already use a special editor specifically designed for VBScript programming.

Well, I am working in parallel on a port to VB.NET. The programming in MS Visual Studio makes things easier.

I am just still making the transition from classic VB6, VBScript, ASP 3.0 to the .NET platform.

  • UPD – None of the converters requires the specification of the data point offset anymore. The tool determines that automatically now for all formats.
  • UPD – The WRL to VOBJ converter also makes use now of the “Vertex Colors” feature of VRML in order to extract more colors for the resulting OSDM vector object. The Vertex colors were actually meant for light shading or “Gouraud Shading”,  features that OSDM does not support.  The tool calculates for each polygon the average color from all vertex colors for that polygon.For objects that are made of many faces, this could still result into  many different colors. OSDM only supports up to 99 colors per object so  the tool will use the closest matching existing color for the polygon, if all 99 colors were already exhausted.The transformation settings “translation” and “rotation” are now considered  and applied to the object during conversion.
  • UPD – All main Object to VOBJ converters now use a complicated triangulation routine to cut up polygons with more than 4 data points into triangle polygons, which should result into less number of polygons and overall better visual results.

Main Tool

  • UPD – Found some bugs in my  File Dialogs selector. It’s a pain in the neck, because there is no standard open and save dialog  in Windows which works across all the latest Windows platforms, including Win XP, Win 2003, Vista and Windows 7  (I don’t care about Win 2000 or Win 98/CE anymore, sorry).Now I am having a chain of 6 different file dialog options,  which will be checked for availability on the users machine. I just added the 6th one, which is the MSComDlg.CommonDialog, which is available on machines that have the comdlg32.ocx on their system, which is used by a lot of VB applications.
  • NEW – in the settings is now the option to select a specific file dialog.  The default is still the auto mode.  Be aware that not all of them on any given computer, but i wanted  to give users the option to find out for themselves, which one of the ones  that work will work best for them. If the manually selected file dialog does not work, then it automatically falls back on the one option that should work on all machines, the IE Web Browser one  (the last resort in the “Auto” mode).It’s okay for the “open” dialog, but sucks for the “Output” file selection, because it requires that the output file already exists, which is typically not the case. Well, I hope that my previous additions of the “automatic” output determination will  makes things easier. Drag and Drop does not work anymore unfortunately (a while already). Microsoft changed security stuff with Win XP SP3 already, which became the final blow to kill drag and drop for all “IE based” windows applications, including HTA.I first wanted to make the tool a HTA application, but there was no reason  no more to do so. HTA was meant to create local windows apps using a browser interface for easy integration into a intranet and stuff like MS SharePoint,  but I guess that is history now too.  Drag and drop work on my VB.NET port again though :)
  • UPD – Speaking of the interface. It is IE based (HTML with a lot of JavaScript, interacting with the underlying VBScript). I don’t know, if it only did this on my machine, but I got the feeling that the tool sucked more and more power and got slow, which was especially noticeable during manual inputs into text boxes.I  cannot link VBScript events with the HTML interface,  so I have to rely on JavaScript for the input validation  and check a lot, with a VBScript running in a loop like crazy  in the background checking for specific modifications to the html that  trigger actions, like the processing of files etc.I hooked up events on every form field with JavaScript on the “onChange“, “onBlur” and “onKeyUp” events and think that this was  creating some overkill and killing the browser along the way. I reduced it to only “onChange” and “onBlur“, which saves some resources, but has the side effect, that certain changes made  by the user don’t trigger an immediate response in all cases,  like the activation of the “go” button, when all required inputs were made.I need to see and find better ways and do some manual optimizing here and there or My VB.NET version will be finished by then already and let us forget about all this browser related nonsense, since it will be a  real Windows 32bit application and not a browser app.I tweaked also some JavaScript related this, minor stuff in the interface, what probably nobody noticed so far anyway :)

Vector Object Generator

  • NEW – Graphical Icon in B/W that depicts the selected object type to enhance the user experience and usability.

Command Line CLI

  • NEW – Command Line support for VOBJ to XX converters
  • UPD – Offset Parameter Removed and support for new converters added



Carsten aka Roy/SAC

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

NOTE! I believe in the right for freedom of speech and personal opinion and are against censorship, so feel free to tell me what you think and let me and others hear your opinion on this subject, but please avoid using the f-word and s-word as much as you possibly can, because at the end of the day this blog exists for the purpose of useful exchanges of thoughts, ideas and opinions and not as a valve for your accumulated anger and frustration. Get a shrink for that! Thanks.

Welcome , today is Thursday, February 22, 2018