Changesets: DarkRadiant
ase_importer 0598587b 04.04.2021 18:16 Details Diff |
0005576: Implement the triangle submission code and remove tons of unused code. | ||
mod - radiantcore/model/import/AseModel.cpp | Diff File | ||
ase_importer 46444741 04.04.2021 18:16 Details Diff |
0005576: Implement the triangle submission code and remove tons of unused code. |
Affected Issues 0005576 |
|
mod - radiantcore/model/import/AseModel.cpp | Diff File | ||
ase_importer 07e07533 04.04.2021 17:18 Details Diff |
0005576: Migrate the ASE parser code, strip all parsing of unsupported keywords. Submission of triangles is missing right now. | ||
mod - radiantcore/model/import/AseModel.cpp | Diff File | ||
ase_importer 028816b6 04.04.2021 17:18 Details Diff |
0005576: Migrate the ASE parser code, strip all parsing of unsupported keywords. Submission of triangles is missing right now. |
Affected Issues 0005576 |
|
mod - radiantcore/model/import/AseModel.cpp | Diff File | ||
master d189b258 04.04.2021 16:57 Details Diff |
Add unit test for Vector3::dot() | ||
mod - libs/math/Vector3.h | Diff File | ||
mod - plugins/script/interfaces/MathInterface.cpp | Diff File | ||
mod - test/math/Vector.cpp | Diff File | ||
master 8d29109b 04.04.2021 16:30 Details Diff |
Fix NormaliseVector3 test I'm not sure why the NormaliseVector3 test started failing after the previous change to getLength(); the calculation performed in the test (v * 1.0/v.getLength()) seems to be exactly the same as what normalise() is doing, so I guess this is some aspect of floating point rounding that I haven't fully understood. Instead of adding a local isNear() function for fuzzy comparison, there is now a math::near() function defined in Vector3.h itself. This can in future be overloaded for other types, to replace the cumbersome float_equal_epsilon and similar functions. |
||
mod - libs/math/Vector3.h | Diff File | ||
mod - test/math/Vector.cpp | Diff File | ||
ase_importer 7ebc22c7 04.04.2021 14:31 Details Diff |
0005576: Use std::vector<ArbitraryMeshVertex> to parse the data into, as first step | ||
mod - radiantcore/model/import/AseModel.cpp | Diff File | ||
ase_importer 8a0ce2bf 04.04.2021 14:31 Details Diff |
0005576: Use std::vector<ArbitraryMeshVertex> to parse the data into, as first step |
Affected Issues 0005576 |
|
mod - radiantcore/model/import/AseModel.cpp | Diff File | ||
ase_importer 4a082fd9 04.04.2021 14:07 Details Diff |
0005576: Quick fix to get the materials loading again | ||
mod - radiantcore/model/import/AseModel.cpp | Diff File | ||
mod - radiantcore/model/import/AseModelLoader.cpp | Diff File | ||
mod - radiantcore/model/picomodel/PicoModelLoader.h | Diff File | ||
ase_importer d5919511 04.04.2021 14:07 Details Diff |
0005576: Quick fix to get the materials loading again |
Affected Issues 0005576 |
|
mod - radiantcore/model/import/AseModel.cpp | Diff File | ||
mod - radiantcore/model/import/AseModelLoader.cpp | Diff File | ||
mod - radiantcore/model/picomodel/PicoModelLoader.h | Diff File | ||
ase_importer 840802c5 04.04.2021 14:00 Details Diff |
0005576: Parsing ASE files using the old C code is functional now, except for the shader name. | ||
mod - radiantcore/model/import/AseModel.cpp | Diff File | ||
mod - radiantcore/model/import/AseModel.h | Diff File | ||
ase_importer fa47412c 04.04.2021 14:00 Details Diff |
0005576: Parsing ASE files using the old C code is functional now, except for the shader name. |
Affected Issues 0005576 |
|
mod - radiantcore/model/import/AseModel.cpp | Diff File | ||
mod - radiantcore/model/import/AseModel.h | Diff File | ||
master cda42e96 04.04.2021 13:47 Details Diff |
Fix inaccuracy in Vector3 getLength()/getLengthSquared() Although our Vector3 is double precision, for some reason getLength() and getLengthSquared() were forcing everything to float precision. getLengthSquared() now operates in the native T type (this will work even for a hypothetical BasicVector3<int>, since it's just multiplication and addition), and is implemented as the dot product of the vector with itself for simplicity. getLength() now returns double, since std::sqrt() always returns a double anyway so there is no point in converting it at this point. This allows the VectorLength unit test to compare for exact equality rather than using an epsilon (the same calculation on the same compiler with the same FPU should give consistent results). |
||
mod - libs/math/Vector3.h | Diff File | ||
mod - test/math/Vector.cpp | Diff File | ||
ase_importer 072a7124 04.04.2021 13:42 Details Diff |
0005576: Place the old parser code inside AseModel::CreateFromStream() and get it to compile. Loader is not able to submit triangles yet, the adapter is missing. | ||
mod - radiantcore/model/import/AseModel.cpp | Diff File | ||
mod - radiantcore/model/import/AseModel.h | Diff File | ||
mod - radiantcore/model/import/AseModelLoader.cpp | Diff File | ||
ase_importer d5025a36 04.04.2021 13:42 Details Diff |
0005576: Place the old parser code inside AseModel::CreateFromStream() and get it to compile. Loader is not able to submit triangles yet, the adapter is missing. |
Affected Issues 0005576 |
|
mod - radiantcore/model/import/AseModel.cpp | Diff File | ||
mod - radiantcore/model/import/AseModel.h | Diff File | ||
mod - radiantcore/model/import/AseModelLoader.cpp | Diff File | ||
master 57622537 04.04.2021 13:26 Details Diff |
Test and de-member Vector3 componentwise product | ||
mod - libs/math/Vector3.h | Diff File | ||
mod - test/math/Vector.cpp | Diff File | ||
master d795d57d 04.04.2021 12:56 Details Diff |
Vector3 subtraction operators are non-members Also reimplemented in-place addition, subtraction and multiplication to call the non-in-place operators, rather than using separate code. |
||
mod - libs/math/Vector3.h | Diff File | ||
mod - test/math/Vector.cpp | Diff File | ||
master 6e990ff6 04.04.2021 12:36 Details Diff |
Move Matrix test functions into a separate suite Having a single MathTest suite made sense when there were relatively few tests, but it is unwieldy now that there are dozens. |
||
mod - test/math/Matrix4.cpp | Diff File | ||
master 71c0050c 04.04.2021 12:32 Details Diff |
Simplify Vector3 addition operators Operators are now non-member functions, and no longer have a separate template type for the second vector (this would prevent adding a BasicVector3<double> to a BasicVector3<float>, but it does not seem that we have any code which needs to do this). |
||
mod - libs/math/Vector3.h | Diff File | ||
mod - test/math/Vector.cpp | Diff File | ||
master 72450cf6 04.04.2021 12:17 Details Diff |
Remove unused Vector3::isValid() | ||
mod - libs/math/Vector3.h | Diff File | ||
master 92b0103a 04.04.2021 12:05 Details Diff |
Improve and test Vector3 scalar multiplication operator* is now a non-member function, and can apply the multiplication in either order (v*s or s*v). |
||
mod - libs/math/Vector4.h | Diff File | ||
mod - test/math/Vector.cpp | Diff File | ||
master 820ee776 04.04.2021 11:49 Details Diff |
Rename test/math/Vector3.cpp to Vector.cpp File includes test for vectors of various sizes, not just Vector3. |
||
mod - test/CMakeLists.txt | Diff File | ||
ase_importer 142122d2 04.04.2021 11:44 Details Diff |
0005576: A StaticModelSurface has to be constructed with non-empty vertex and index data. Add a new constructor accepting the rvalue-refs of the vertex and index vectors, and move the PicoModel-specific conversion code to PicoModelLoader which will create the suitable data structures before passing them to the move constructor. Prepare the AseModelLoader to use the same pattern. |
||
mod - radiantcore/model/StaticModelSurface.cpp | Diff File | ||
mod - radiantcore/model/StaticModelSurface.h | Diff File | ||
mod - radiantcore/model/import/AseModel.cpp | Diff File | ||
mod - radiantcore/model/import/AseModel.h | Diff File | ||
mod - radiantcore/model/import/AseModelLoader.cpp | Diff File | ||
mod - radiantcore/model/picomodel/PicoModelLoader.cpp | Diff File | ||
ase_importer d8845d73 04.04.2021 11:44 Details Diff |
0005576: A StaticModelSurface has to be constructed with non-empty vertex and index data. Add a new constructor accepting the rvalue-refs of the vertex and index vectors, and move the PicoModel-specific conversion code to PicoModelLoader which will create the suitable data structures before passing them to the move constructor. Prepare the AseModelLoader to use the same pattern. |
Affected Issues 0005576 |
|
mod - radiantcore/model/StaticModelSurface.cpp | Diff File | ||
mod - radiantcore/model/StaticModelSurface.h | Diff File | ||
mod - radiantcore/model/import/AseModel.cpp | Diff File | ||
mod - radiantcore/model/import/AseModel.h | Diff File | ||
mod - radiantcore/model/import/AseModelLoader.cpp | Diff File | ||
mod - radiantcore/model/picomodel/PicoModelLoader.cpp | Diff File | ||
ase_importer 80391e45 04.04.2021 10:59 Details Diff |
0005576: Remove picomodel references from AseModelLoader. | ||
mod - radiantcore/model/import/AseModelLoader.cpp | Diff File |