Latest entries appear first.
Changes since toxic 1.0 alpha–3
| dictoon |
meshio |
Fixed line counter in .obj file loader.
The .obj file loader now reports the correct line number when an error occurs. |
| dictoon |
driver |
Fixed plane code.
Infinite planes were disabled in previous releases of toxic. This is now fixed. |
Changes since toxic 1.0 alpha–2
| dictoon |
misc |
Reimplemented the BinaryStream class.
The new implementation is several times faster than the previous one. Particularly, saving and loading photon maps to/from disk now takes only a fraction of the time it was taking with the old implementation. |
| dictoon |
meshio |
Fixed line counter in .obj file loader.
The .obj file loader now reports the correct line number when an error occurs. |
| dictoon |
driver |
Fixed plane code.
Infinite planes were disabled in previous releases of toxic. This is now fixed. |
| dictoon |
driver |
toxic home path is now guessed automatically under Windows.
Defining the TOXICHOME environment variable is no longer required. |
| dictoon |
driver |
Rewrote the settings system.
Settings have been splitted in two files: 1) settings that depend only on the system: they affect rendering speed, but not image quality. System settings are located in the settings/toxicsettings.xml file in the toxic installation directory; 2) settings that control how the rendering quality of the scene. There is one such settings file per scene. The scene settings file is typically located in the same directory as the scene file. |
Changes since toxic 1.0 alpha–1
| dictoon |
driver |
Rewrote the settings system.
Settings have been splitted in two files: 1) settings that depend only on the system: they affect rendering speed, but not image quality. System settings are located in the settings/toxicsettings.xml file in the toxic installation directory; 2) settings that control how the rendering quality of the scene. There is one such settings file per scene. The scene settings file is typically located in the same directory as the scene file. |
| dictoon |
renderer |
Splitted camera class.
Splitted the Camera class into three classes: ICamera (abstract), PinholeCamera (concrete) and ThinLensCamera (concrete). |
| dictoon |
misc |
Improved the CommandLineParser.
It can now treat the N (user value) first arguments as filenames if they don't match any option. This change fixed the bug of toxic misinterpreting the --help command line option. |
| dicton |
meshio |
Implemented the MeshModifier mesh builder.
The MeshModifier is able to optimize mesh data (vertices, normals, faces) and to reconstruct smoothed vertex normals with edge preservation. It is used in both the modelviewer tool and in toxic. |
| dictoon |
meshio |
.ase file loader now supports submaterials.
This was needed in order to load the Sponza Atrium mesh properly (see the Gallery). |
| dictoon |
meshio |
Improved .obj and .ase file loaders.
Until now, mesh vertices were duplicated. This is no longer the case, reducing by 3 or 4 the number of vertices in meshes. |
| dictoon |
meshio |
Implemented a simple polygon triangulator.
I followed more or less the algorithm outlined in this paper (I omitted some optimizations though). This was needed by the .obj file loader in order to load the Sponza Atrium mesh (see the Gallery). As my implementation does not handle holes or self-intersecting polygons, it could be a better idea to use the tesselator from the OpenGL Utility library instead. |
| dictoon |
meshio |
Improved the .obj file loader.
Negative indices are now handled properly, and division of meshes into submeshes is now cleaner. |
| dictoon |
renderer |
Factorized 2d sampling code.
Implemented a set of functions to sample the unit square using various algorithms (random sampling, regular sampling and stratified sampling are implemented, Poisson disc sampling is still missing). These functions return an array of samples. Samples are then mapped to the 2d surface to sample (which can be the surface of an area light, for example). This change reduced rendering time by a few percents, most probably because code locality has increased, offering more opportunities for the compiler to generate tight, vectorized code (the Pentium 4 build of toxic is optimized for the SSE2 instruction set). |
|