Commit Graph

398 Commits

Author SHA1 Message Date
Josiah VanderZee
0216a02ed4 Fix segfault from reading bad number of indices 2024-04-18 07:21:59 -05:00
Josiah VanderZee
a326f27f6a Fix coordinate system change
Old code was inverting the X axis, new code inverts the Z axis.
2024-04-18 07:21:59 -05:00
Josiah VanderZee
47a195b4de Fix aliasing violation when reading primitives 2024-04-18 07:21:59 -05:00
Josiah VanderZee
7220104c37 Test vertex normals on cube 2024-04-18 07:21:58 -05:00
Josiah VanderZee
72cb09a566 Test for texture coordinates on cube 2024-04-18 07:21:58 -05:00
Josiah VanderZee
742307f077 Scale cube vertices correctly 2024-04-18 07:21:58 -05:00
Josiah VanderZee
837b6be14e Add test for blender cube 2024-04-18 07:21:58 -05:00
Josiah VanderZee
82c547d50f Test for correct vertex indices 2024-04-18 07:21:56 -05:00
JosiahWI
3d2d3f8d5a Remove constexpr from readFloat 2024-04-18 07:20:25 -05:00
JosiahWI
a20ac715ce Load vertex coordinates from glTF buffer 2024-04-18 07:20:22 -05:00
JosiahWI
21c3c16557 Test invalid JSON
Also converted all .cpp and .h line endings to CRLF in this commit.
2024-04-18 07:19:30 -05:00
JosiahWI
2ae436cb2c Update vertex test for coordinate system
This is also the first working version of the mesh. I successfully
loaded it in Minetest.
2024-04-18 07:18:30 -05:00
JosiahWI
30d5748e0c Test case when file is nullptr 2024-04-18 07:18:30 -05:00
JosiahWI
5e2d9d947e Test that minimal triangle has correct vertices 2024-04-18 07:18:30 -05:00
JosiahWI
a9f56df279 Test that minimal triangle returns some mesh 2024-04-18 07:18:29 -05:00
JosiahWI
92862a3a2d Add test file for glTF mesh loading 2024-04-18 07:16:20 -05:00
Desour
bcb952c3ca Move source/Irrlicht/ to src/ 2024-03-21 22:08:26 +01:00
Desour
dd1043c4c0 Replace non-leading tabs with spaces, using:
find -type f |  # list all regular files
  grep -E '\.(h|cpp|mm)$' |  # filter for source files
  grep -v '/mt_' |  # filter out generated files
  grep -v '/vendor/' | # and vendored GL
  xargs -n 1 -P $(nproc) ./replace_non_leading_tabs.lua  # reformat everything
2024-03-21 22:08:26 +01:00
Desour
adc96072cd Fix ugly formatted arrays
Found via: `rg --multiline "=\n\t*\{\n"`
2024-03-21 22:08:26 +01:00
numzero
b01a3ea781 Fix ifs clang-format didn’t get 2024-03-21 22:08:26 +01:00
Desour
f5c6d3e945 Reformat the code, using:
find -type f |  # list all regular files
  grep -E '\.(h|cpp|mm)$' |  # filter for source files
  grep -v '/mt_' |  # filter out generated files
  grep -v '/vendor/' | # and vendored GL
  grep -v '/test/image_loader_test.cpp' |  # and this file (has giant literals arrays)
  xargs -n 1 -P $(nproc) clang-format -i  # reformat everything

Co-authored-by: numzero <numzer0@yandex.ru>
2024-03-21 22:08:26 +01:00
sfan5
26c4f4e63d Ensure enough alignment for IImages 2024-03-10 13:58:24 +01:00
sfan5
9d07f906a7 Delete mesh writing support entirely
CB3DMeshWriter.cpp was not even being compiled
2024-03-10 10:11:27 +01:00
sfan5
d26c0aeaaf Remove more dead code 2024-03-09 23:00:33 +01:00
sfan5
70b0b46d50 Delete deprecated video driver methods 2024-03-09 23:00:33 +01:00
sfan5
1e89db1b80 Consistently include C headers by their C++ wrapper 2024-02-25 22:10:04 +01:00
ROllerozxa
2bbfa178ea
Don't link against SDL2main (#265) 2024-02-23 22:44:16 +01:00
sfan5
61682104df COpenGLCoreTexture: fix abort when format not supported 2024-02-23 21:31:33 +01:00
sfan5
46542793d6 OpenGL: Fix BGRA format mapping 2024-02-23 21:31:33 +01:00
sfan5
9f2d13a2b6 OpenGL: Print more debug info at init time 2024-02-23 21:31:33 +01:00
sfan5
54de743641 Workaround for too old GL header on older SDL versions
Problem: Since the removal of !_IRR_OPENGL_USE_EXTPOINTER_ we require some quite recent
symbols to compile the legacy GL driver. (*) Since the previous commit we prefer including
them via SDL but those are sometimes too old.

(*) This was in fact always a problem since USE_EXTPOINTER is the default.
    I guess people just had recent enough headers usually.
2024-02-23 21:31:33 +01:00
sfan5
3e8d8440e3 Vendor GL headers again
primary reason:
The unified GLES2 driver requires OpenGL headers (really), which Android does not provide.
2024-02-23 21:31:33 +01:00
sfan5
8189b2338a Remove now unused legacy OGLES2 driver 2024-02-23 21:31:33 +01:00
sfan5
0a77ef5dc2 Enable unified driver with all devices 2024-02-23 21:31:33 +01:00
sfan5
19f0f707a6 Use ContextManager to resolve symbols in GL driver 2024-02-23 21:31:33 +01:00
sfan5
83998f7471 Reduce OGLES extension array to ones actually used 2024-02-23 21:31:33 +01:00
sfan5
b7bb4b5958 Remove all !_IRR_OGLES1_USE_EXTPOINTER_ code 2024-02-23 21:31:33 +01:00
sfan5
f28e442bfa Drop all !_IRR_OGLES2_USE_EXTPOINTER_ code 2024-02-23 21:31:33 +01:00
sfan5
4cd5c3489e Drop all !_IRR_OPENGL_USE_EXTPOINTER_ code 2024-02-23 21:31:33 +01:00
sfan5
52e4d72ae2 Migrate OpenGL cache and texture handler to GL pointers
this makes the OpenGL 3 driver free of GL symbol references!
2024-02-23 21:31:33 +01:00
Muhammad Rifqi Priyo Susanto
2db8c8728e Missing value_or() when printing std::optional 2024-02-23 13:17:41 +01:00
sfan5
c83f28431b Add API to delete shader materials 2024-02-21 21:53:38 +01:00
sfan5
e60921f0cb Drop old shader material functions
I'm not sure what these actually are, but the situation is the same as the last commit.
2024-02-21 21:53:38 +01:00
sfan5
92252f70d2 Drop low-level shader constant setters
These don't work on the modern drivers and are unused anyway.
2024-02-21 21:53:38 +01:00
SmallJoker
2bb2d3fe01
CFileSystem: Fix signed integer conversion on MinGW 2024-02-18 23:45:39 +01:00
sfan5
45ace61007 OpenGL: support scene::EHM_STREAM
the relevant enum value is defined in both gl3 and gles2
2024-02-18 22:43:25 +01:00
sfan5
89d0717779 Delete some dead code 2024-02-18 17:12:51 +01:00
sfan5
19819bd23a Reduce needless use of wchar / stringw 2024-02-18 17:12:51 +01:00
sfan5
2894d9ab03 Add debug output to GL shader loading 2024-02-18 17:12:51 +01:00
HybridDog
f91be59811 Remove support for GL_POINT_SMOOTH and GL_LINE_SMOOTH antialiasing
These antialiasing techniques have been removed in OpenGL 3.1, they were often executed by the CPU, and Minetest does not use them.
The OpenGL wiki recommends that we do not use this functionality in our program.
https://www.khronos.org/opengl/wiki/Multisampling#Smooth_antialiasing
2024-02-17 22:04:01 +01:00