Commit graph

105 commits

Author SHA1 Message Date
Simon Bruder 002ef8d707 CMake: Enable warnings
Not every exercise has the same levels,
but they now have at least some warnings.
2023-05-20 12:35:45 +02:00
Simon Bruder 329aa0b455 u03: Fix warnings by -Wextra
This does not fix one instance of -Wdeprecated-copy, because I don’t
know how to resolve it.

The only other warnings still existing are for the unimplemented tool.
2023-05-20 12:35:45 +02:00
Simon Bruder 0958009b4c u03/terrain: Make helpers call-by-reference 2023-05-20 12:35:45 +02:00
Simon Bruder ca84db9089 u03/cube_system: Actually use specified size 2023-05-20 12:07:53 +02:00
Simon Bruder 58806ba093 u03/tiny_vec: Avoid unsequenced modification and access 2023-05-20 12:01:29 +02:00
Simon Bruder c41d0cb09b u02: Fix warnings by -Wextra
The only warnings still existing are for the unimplemented tool.
2023-05-20 11:55:58 +02:00
Simon Bruder 1bd2d3a2a5 u02: Fix warnings by -Wall
This actually found one logic bug.
2023-05-20 11:39:26 +02:00
Simon Bruder f46e54a156 u01: Remove unused arguments from main 2023-05-20 11:29:04 +02:00
Simon Bruder 34ef7609bf u03/terrain: Fix wrong function call
clang found this and emitted a warning in its default configuration.
2023-05-20 11:21:19 +02:00
Simon Bruder f52bb96d91 flake: Add clang variant 2023-05-20 11:20:43 +02:00
Simon Bruder 7dacccdbd0 flake: Make building variants easier 2023-05-20 11:20:03 +02:00
Simon Bruder c263958d3b CMake: Disable compiler specific extensions 2023-05-20 10:49:52 +02:00
Simon Bruder f068939e35 u03/terrain: Implement contour lines 2023-05-19 14:41:30 +02:00
Simon Bruder 766123ed2a u03/cube_system: Fix rotation
I didn’t see that the sign for the “planet” and its “satellite” were
different.
2023-05-18 20:21:26 +02:00
Simon Bruder ed295706ea u03/terrain: Implement texture 2023-05-18 18:23:59 +02:00
Simon Bruder 9f57840ed4 u03/terrain: Implement normal calculation 2023-05-18 18:23:59 +02:00
Simon Bruder e0393fe6e6 u03/terrain: Apply height map 2023-05-18 17:20:15 +02:00
Simon Bruder 5a3bc118c9 u03/terrain: Implement grid 2023-05-18 17:18:21 +02:00
Simon Bruder 9d050e3f49 u03/terrain: Fix data path 2023-05-18 17:18:05 +02:00
Simon Bruder f81b405ac6 u02/cube_system: Implement rendering system 2023-05-18 17:08:01 +02:00
Simon Bruder 381033c04e u03/cube_system: Implement rendering cube 2023-05-18 16:58:57 +02:00
Simon Bruder 6b8cb38758 Use reuse specification 2023-05-18 10:53:22 +02:00
Simon Bruder 8377edbcd2 u03: Set OpenGL preference 2023-05-18 09:47:17 +02:00
Simon Bruder a53986dc7f u03/CMake: Install built binary 2023-05-18 09:47:17 +02:00
Simon Bruder b7eea9f0e2 u03/CMake: Add vim modeline 2023-05-18 09:47:17 +02:00
Simon Bruder 3f2cc4cefc u03: dos2unix 2023-05-18 09:47:17 +02:00
Simon Bruder b32b050872 u03: Convert latin1 to UTF-8 2023-05-18 09:47:17 +02:00
Simon Bruder aff219ef04 u03: Format 2023-05-18 09:47:17 +02:00
Simon Bruder aab56c2710 u03: Add skeleton 2023-05-18 09:47:17 +02:00
Simon Bruder 8d4cf138e1 Add script for creating archive 2023-05-18 09:28:41 +02:00
Simon Bruder e64cbfdcf2 u02: Make star preview more variable 2023-05-16 16:49:59 +02:00
Simon Bruder 18da3567cc u02/star_tool: Allow setting spikes in ctor 2023-05-16 16:49:23 +02:00
Simon Bruder f482d0a951 flake: Use correct input types for dependencies 2023-05-16 16:49:23 +02:00
Simon Bruder 1aae98c18b u02: Add readme 2023-05-16 16:49:23 +02:00
Simon Bruder 2290a6314d u02/tests: Fix inverted logic in comment 2023-05-16 16:49:22 +02:00
Simon Bruder c5289609e5 flake: Build variants without tests
Tests set the C++ version to 17, however only up to 11 is allowed in the
other files.
2023-05-16 16:49:22 +02:00
Simon Bruder 085b8fcdb9 u02/tests: Fix edge case for invalid points 2023-05-16 16:49:22 +02:00
Simon Bruder 8f784ccf3e u02/tests: Fix skipping behaviour
When the test runner only tests one case, it exits with a non-zero exit
code should that test invoke a skip (even if there are 1000+ successful
iterations).

This fixes this by falling back to a cheap message to stderr.
2023-05-16 16:49:22 +02:00
Simon Bruder ad02a06db4 u02/tests: Fix floating point comparison
I didn’t really understand what WithinRel and WithinAbs do. Now I know
that for this use case WithinAbs is the better choice.

This also increases the allowed deviance for the average point of all
points of a star, because this would now fail for larger values.
2023-05-16 16:49:22 +02:00
Simon Bruder d4794e1544 u02/tests: Add average point test for star 2023-05-16 16:49:22 +02:00
Simon Bruder 583f2ecd3e u02: Implement preview for star
It is fixed to a star with 5 spikes, but better than a circle.
2023-05-16 16:49:22 +02:00
Simon Bruder 85e38a358d u02/tests: Use floats for r/d in circle prop test
It does not improve the test’s accuracy, but it seems weird to first
convert the radius to an int and then save the distance as a double.
2023-05-16 16:49:22 +02:00
Simon Bruder 2226fb32af u02: Implement star tool 2023-05-16 16:49:22 +02:00
Simon Bruder 7e06373aa1 u02: Add star tool skeleton 2023-05-10 17:07:03 +02:00
Simon Bruder 0d316d7aeb Add note on filtering 2023-05-09 23:50:31 +02:00
Simon Bruder a1f8720e74 Add filtering script 2023-05-09 23:50:31 +02:00
Simon Bruder 25e159d96b u02/util: Simplify conditions 2023-05-09 23:50:31 +02:00
Simon Bruder 7e8dbfabea u02: Implement sweep line tool 2023-05-09 23:50:31 +02:00
Simon Bruder 49cd0f201a u02/tests: Lower target precision for barycentric coordinates 2023-05-09 23:47:47 +02:00
Simon Bruder 1f6f079edf u02: Test edge case for barycentric coordinates 2023-05-09 23:47:47 +02:00