| Description | uses | Classes, Interfaces, Objects and Records | Functions and Procedures | Types | Constants | Variables |
Handling of 3D models in Wavefront OBJ format.
First implementation based on information from [http://www.gametutorials.com]. Written without any particular reason — I just saw some code doing so, and it seemed extremely easy, and so I decided to implement it too. And it works: we simply read "v", "vt" and "f" lines and that's all.
Later extended to handle also normal vectors and materials, based on [http://www.fileformat.info/format/wavefrontobj/] and [http://www.fileformat.info/format/material/]. Texture filename is also read from material file.
| Name | Description |
|---|---|
Class TWavefrontMaterial |
|
Class TObjectsList_1 |
|
Class TWavefrontMaterialsList |
|
record TWavefrontFace |
|
Class TDynArray_1 |
|
Class TObject3dOBJ |
3D model in OBJ file format. |
Class EInvalidOBJFile |
TObjectsListItem_1 = TWavefrontMaterial; |
TObjectsListIsSmallerFunction_1 = function (const A, B: TObjectsListItem_1): boolean of object; |
PWavefrontFace = ˆTWavefrontFace; |
TDynArrayItem_1 = TWavefrontFace; |
PDynArrayItem_1 = PWavefrontFace; |
TInfiniteArray_1 = array[0..MaxInt div SizeOf(TDynArrayItem_1)-1]of TDynArrayItem_1; |
PInfiniteArray_1 = ˆTInfiniteArray_1; |
TDynArrayItemIsSmallerFunc_1 = function (const a, b: TDynArrayItem_1): boolean; |
TDynArrayItemIsSmallerFuncByObject_1 = function (const a, b: TDynArrayItem_1): boolean of object; |
TDynWavefrontFaceArray = TDynArray_1; |
TObjectsListItem_1 = TWavefrontMaterial; |
TObjectsListIsSmallerFunction_1 = function (const A, B: TObjectsListItem_1): boolean of object; |
PWavefrontFace = ˆTWavefrontFace; |
TDynArrayItem_1 = TWavefrontFace; |
PDynArrayItem_1 = PWavefrontFace; |
TInfiniteArray_1 = array[0..MaxInt div SizeOf(TDynArrayItem_1)-1]of TDynArrayItem_1; |
PInfiniteArray_1 = ˆTInfiniteArray_1; |
TDynArrayItemIsSmallerFunc_1 = function (const a, b: TDynArrayItem_1): boolean; |
TDynArrayItemIsSmallerFuncByObject_1 = function (const a, b: TDynArrayItem_1): boolean of object; |
TDynWavefrontFaceArray = TDynArray_1; |