OGFVIEWER/MESHTOOL v. 1.0.5 (29/12/2013, NatteFrost) |
Readme/What's new |
*** Changes (2011.04.30) ***
OpenGL 1.0 versions of ogfviewer has no support for font output (not
including pgl - ogf_os2?.exe).
New light scheme - directional
Mouse controls in os2 (no in pgl - ogf_os2?.exe)
Scitech Snap Graphics support (fastest software OpenGL engine available!),
in fullscreen only, random colors generation
3ds file reading support (watcom-compiled binaries only)
Proper normals creation
*** Changes (2011.06.11) ***
New light model in drawmode#1
Support for YouAreEmpty(DS2 engine) and Metro2033 (static) models
Now we can read build1935 levels exported by xray_re converter.exe
Correct normals creation for *.3ds, *.object
Proper bounding box calculation for object, ogfv3
Better support for SNAP: ogf_snap supports VBO, DevIL.DLL can read not only
DDS format
OpenWatcom-written version can read 3DS models (LIB3DS.DLL required,
supplied)
Speed-up for reading 'terrain', 'water' meshes
Sections mixed 0x1011, 0x1012 (object)
Rendering optimization (OpenGL, non-VBO)
drawmode#2 with light rewritten (testing...)
For mipmapping proper work coeff. ALPHAREF = 50% for LODs (trees) and
maxmeshcnt up to 30000 (for object)
COMPACT_OBJECT option, now vertexes in object-s optimized (i.e. compressed)
*** Changes (2011.07.17) ***
New light scheme ( drawmode #1, #2 )
Support for Orion engine v1 models with 0x00000102 header
FOV calculated for Y, starts from 67.5 (FovX = 90) to 100 with step 5 then
reset to 47.5
Removed not supported tex.filtering combinations and mipmaps
Skybox now 3000x1500x3000 metres, distance ~= 2500 metres
0x1008 block - now 10 vmrefs max available (was max=4)
*** Changes (2012.01.31) ***
Skybox "authentic" as in game (10 planes)
Base distance lowered to 400,200,400 + 350 ¬., as in game configs
New advanced light scheme in drawmode#2, horizont angle light
Now we can Widescreen aspect ratio - 16:9 etc. (keys '5','6')
Horizont angle light changes by 7,8,9,0,< + >,< - > keys (drawmode#2)
Light sources doesn't affect by ambient light
Type model\selflightl = "base" object
When loading 3DS nodels check materials and meshes limits
OS2 GUI mode (PM_PM) except for ogfcons, removed printf(),WinMessageBox()
OGF_GLUT: WarpMesaGL inverts Y axis
*** Changes (2012.04.01) ***
Export into Collada XML (*.DAE).
Export into AutoDesk DXF, meshes arranged by materials in layers.
"Reading" DDS-files, as surface of 2x2 meters.
Export into StereoLitho (*.STL), MilkShape3D (*.MS3D), X-Ray SDK (*.OGF).
OGFDOS16: My own ANM-format for storing animations - 1 mesh only.
Reading "multi-mesh" *.DS2MD (You Are Empty).
In *.SMD, *.ASE materials rearranged incorrectly - fixed.
In *.SMD fixed "extra-large" 100x scale.
Export obj rewritten according to X-Ray ActorEditor metodics (all in 1 file).
BoundingBox drawn mirrored by Y axis (OpenGL).
OGFDOS16: Normales support, misc. optimizations, 2D-"animations" (OGFPLY16), FastGraph engine.
ALLE: Models are loded faster now, up-down directional light, statistics (totvert/totind) get from models structure.
MESHCONV: Logging expanded.
*** Changes (2012.07.31) ***
PARSE_SPW: new instument to parse GSC S.T.A.L.K.E.R. spawn files
ALL: 22 sky color variants skycolors.png - DaySkyColorReference (frostbo.deviantart.com)
ALL(GL): all versions now has two light modes - directional from camera (view pos), sun-similated.
OGFLOADER: "Lost" support for multi-mesh ds2md is back. :)
ALL (BASE): LOCALVIEWER render-state, reflexes are more accurate now.
OGF_GLUT, OGF_TK: OnMouseMove() - removed duplicated x,y variables.
OGFLOADER: Correct faces orientation in ms3d export code.
ALL: side-step for moving lowered F7 (*4), F8 (/4)
OGFLOADER: Removed maximum limit for meshes, materials.
OGFLOADER: In metro2033 models duplicated materials are checked now.
NEW_REND, OGFSCENE: Not another try to rewrite OGFVIEWER engine (WIP).
PARSE_YAE: Now we can parse not only models (ds2md) but aslo geometry (ds2, WIP).
OGFLOADER: Note that ms3d model size is limited by 65535 indexes, 65535 vertexes ("hard" limit for this format!).
*** Changes (2012.10.31) ***
[New features]
PARSE_YAE: Now decoding binary models (ds2md) versions 0.6, 0.9, 1.0
ALL: Support for binary ds2md (YaE) models version 0.9 (beriya.ds2md, ship.ds2md)
ALL: Support for binary ds2md (YaE) models version 0.6 (krovat.ds2md medscen1.ds2md medscen2.ds2md toilet.ds2md trash_box.ds2md)
ALL(DX, GL): In alternate version cull distance incremented to 3 km = 3000 m (was 400 m), use "N" key for it.
[Fixed bugs]
OGFLOADER: Fix for ds2md (YaE) models with "short" texture paths.
ALL(GL): Don't call glBegin(GL_LINES) for grid twice.
ALL: Correct rescale for ds2md models (divide by 100) and reading bounding box (ds2md 1.0)
[Optimizations]
OGFMODEL: Engine classes conflicts with AutoDesk 3DS MAX SDK - fixed (Mesh -> mtMesh ...).
ALL: Remove _try {} except (1) everywhere
[Notes]
OGFLOADER: Size of ms3d model is limited (when exporting) by 65535 indices, vertices ("hardcoded" format limit!).
*** Changes (2012.12.29) ***
[New features]
PARSE_BKP: NEW utility for restoring xray-level source backups
MBENCH: new bench tool with tri, ply, nmb? model support, also ltest tool refresh
ALL,DX,GL: fully implemented anisotropy
PARSE_LEV: Option 4 correcrtly converts lightmaps separated from base geometry
[Fixed bugs]
PARSE_LEV: fix while deleting nonexistent array ( delete [] swiblk )
OGFLOADER: crop vtx block larger than 65535 for LARGE objects
OS2: fix for bad timer - now we use DosTmrQueryFreq/Time, does not depend now on tcpip.lib
OS2: IBM CPP needs to remove optimization (-O+) or change it to (-Oc+) so cull using bbox will work properly
OGFLOADERZ: now models import not affected by "pragma pack #1" ( /Zp1 ), used in MAX plugins
OGFLOADER:fixed 0x0E S_BONE_NAMES section read
[Optimizations]
ALL: v_far_dist, HI_DIST now in base code (not only in ogf_dx?)
OGFLOADER: read object portion 0x1005 in one block regardless of USE_XLAT
MESHCONV: define USE_DX9 to disable pointless USE_XLAT stuff
OGFLOADER: removing memcpy() where possible - it is slow - use f.e. *(int*) instead
OGFLOADER: made normals, calc bbox once for object, m2033, calc bs_radius for *.ds2md
PARSE_LEV: now removes duplicated vertices (10% economy for final levels, 30-40% for earlier builds!)
OS2: it is safe to use -onatx (i.e. OPT=1) in all Watcom builds
IL_WRAP: logging only when USE_LOG, mipmap support
ALL,GL,OGFLOADER: anisotropy evaluates float constant
ALL: optimize 'F9' MIPMAP code
ALL,GL: glCompressedTeximage2D ext. in all code (excl. pure OS/2)
*** Changes (2013.06.30) ***
[New features]
MESHCONV: support for rescaling while converting data
OGFLOADER: Now we support all types of 4A Engine models (Metro 2033, Metro Last Light) - *.model, *.mesh
[Fixed bugs]
CHILDVIEW: When DISABLE_TEXTURING is declared program does not compile (Windows).
[Optimizations]
OGFLOADER: Internal model code for 4A Engine changed from 0x2033 to 0x4AE0
ALL,GL: Now we show GLSL version in logs, info panels
PARSE_203: Now removes duplicated vertices (see. PARSE_LEV above)
*** Changes (2013.12.29) ***
[New features]
OGF2POV: New utility converts models to *.POV fomat - POV-Ray 3.6-3.7rc7.
OGFLOADER: Also saves to *.POV, but with optimization.
OGFLOADER: Removed long ago nonworking *.LWO export.
OGFf2X: New utility converts models to *.X fomat (ASCII) - DirectX SDK.
OGF(_GLUT, _TK, FSCR): Key 'R' rotates model over Y axis, back and forth, 'F7'/'F8' - speed +/-.
[Fixed bugs]
OGFMODEL: In wireframe mode, key 'L' changes model color (GL).
[Optimizations]
ALL: Now background color changed by 'B' key (before it was 'F','*').
ALL: Log files saved by 'T' key (before it was 'M').
PARSE_SPW: Continuing...
* * * |
Add new comment