New modules compiled
This commit is contained in:
15
CLAUDE.md
15
CLAUDE.md
@@ -6,10 +6,12 @@ vintage marine radar.
|
|||||||
There will be two scopes. An early A Scope and a PPI scope.
|
There will be two scopes. An early A Scope and a PPI scope.
|
||||||
|
|
||||||
The PPI scope will take up the entire right hand side of the display
|
The PPI scope will take up the entire right hand side of the display
|
||||||
(1/2 inch margins on top,bottom, and right hand side) and the A Scope will
|
(1 inch margins on top,bottom, and right hand side) and the A Scope will
|
||||||
be smaller, located in the center of the left hand
|
be smaller, located in the center of the left hand
|
||||||
side of the display near the left margin.
|
side of the display near the left margin.
|
||||||
|
|
||||||
|
Please impliment 1 inch margins around both scopes. I am getting them cut off
|
||||||
|
|
||||||
Display should be whole screen. An escape, possibly with the escape key
|
Display should be whole screen. An escape, possibly with the escape key
|
||||||
needs to be provided to exit the program and go back to shell.
|
needs to be provided to exit the program and go back to shell.
|
||||||
|
|
||||||
@@ -153,7 +155,10 @@ A scope:
|
|||||||
graticule appear to move up and out and the replacement graticule move
|
graticule appear to move up and out and the replacement graticule move
|
||||||
in and down in place. The operator takes them out from a slot above the
|
in and down in place. The operator takes them out from a slot above the
|
||||||
scope and inserts the replacement through the same slot. All these graticules
|
scope and inserts the replacement through the same slot. All these graticules
|
||||||
are lighted with incandescent colors.
|
are lighted with incandescent colors. Graticule should have vertical lines
|
||||||
|
for each range and a horizontal line at the bottom. Left of the screen you
|
||||||
|
have the words "SIGNAL STRENGTH" and bottom of the screen you
|
||||||
|
have the words "RANGE"
|
||||||
|
|
||||||
Note on screen update vs pulse repetition frequency. We need to be careful
|
Note on screen update vs pulse repetition frequency. We need to be careful
|
||||||
since we have no control of the display update frequency and need
|
since we have no control of the display update frequency and need
|
||||||
@@ -277,6 +282,9 @@ Order of testing features.
|
|||||||
and hold for 5 seconds for each range
|
and hold for 5 seconds for each range
|
||||||
4. PPI scope range rings; both active display and persistence display - test
|
4. PPI scope range rings; both active display and persistence display - test
|
||||||
for each range settings; hold for 5 seconds each
|
for each range settings; hold for 5 seconds each
|
||||||
|
5. PPI scope active target operation, as well as persistance. Create
|
||||||
|
four fake targets, one small, one large and two very large with
|
||||||
|
blooming. Do random range and bearing with one in earch quadrant.
|
||||||
5. PPI scope cursor - test by slowly changing range and bearing
|
5. PPI scope cursor - test by slowly changing range and bearing
|
||||||
6. PPI scope weather noise - test by changing noise level slowly
|
6. PPI scope weather noise - test by changing noise level slowly
|
||||||
7. PPI scope waves noise - test by changing noise level slowly
|
7. PPI scope waves noise - test by changing noise level slowly
|
||||||
@@ -284,9 +292,10 @@ Order of testing features.
|
|||||||
|
|
||||||
========================================================
|
========================================================
|
||||||
|
|
||||||
Generate code for testiong feature 1 and 2 only;
|
Generate code for testiong feature 1 and 2 and 3 only;
|
||||||
1. General initialization and set up basic boundaries of the two scopes
|
1. General initialization and set up basic boundaries of the two scopes
|
||||||
on the screen. No features on each scope yet.
|
on the screen. No features on each scope yet.
|
||||||
2. Edge graticule on ppi scope (Bearing ticks and numbers)
|
2. Edge graticule on ppi scope (Bearing ticks and numbers)
|
||||||
|
3. replaceable graticules for A scope
|
||||||
Do not generate any other code
|
Do not generate any other code
|
||||||
Generate code the run this and hold for 10 seconds and exit
|
Generate code the run this and hold for 10 seconds and exit
|
||||||
|
|||||||
@@ -24,5 +24,11 @@ target_link_libraries(radar_simulation PRIVATE
|
|||||||
Freetype::Freetype
|
Freetype::Freetype
|
||||||
)
|
)
|
||||||
|
|
||||||
file(COPY ${CMAKE_SOURCE_DIR}/shaders DESTINATION ${CMAKE_BINARY_DIR})
|
add_custom_target(copy_shaders ALL
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||||
|
${CMAKE_SOURCE_DIR}/shaders
|
||||||
|
${CMAKE_BINARY_DIR}/shaders
|
||||||
|
COMMENT "Copying shaders to build directory"
|
||||||
|
)
|
||||||
|
add_dependencies(radar_simulation copy_shaders)
|
||||||
|
|
||||||
|
|||||||
2
build/CMakeFiles/CMakeRuleHashes.txt
Normal file
2
build/CMakeFiles/CMakeRuleHashes.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# Hashes of file build rules.
|
||||||
|
98892458fd275ab36edb4060d435198d CMakeFiles/copy_shaders
|
||||||
@@ -15,97 +15,22 @@ set(CMAKE_MAKEFILE_DEPENDS
|
|||||||
"/usr/lib/x86_64-linux-gnu/cmake/glfw3/glfw3ConfigVersion.cmake"
|
"/usr/lib/x86_64-linux-gnu/cmake/glfw3/glfw3ConfigVersion.cmake"
|
||||||
"/usr/lib/x86_64-linux-gnu/cmake/glfw3/glfw3Targets-none.cmake"
|
"/usr/lib/x86_64-linux-gnu/cmake/glfw3/glfw3Targets-none.cmake"
|
||||||
"/usr/lib/x86_64-linux-gnu/cmake/glfw3/glfw3Targets.cmake"
|
"/usr/lib/x86_64-linux-gnu/cmake/glfw3/glfw3Targets.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeCCompiler.cmake.in"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeCCompilerABI.c"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeCInformation.cmake"
|
"/usr/share/cmake-3.31/Modules/CMakeCInformation.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeCXXCompiler.cmake.in"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeCXXCompilerABI.cpp"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeCXXInformation.cmake"
|
"/usr/share/cmake-3.31/Modules/CMakeCXXInformation.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeCommonLanguageInclude.cmake"
|
"/usr/share/cmake-3.31/Modules/CMakeCommonLanguageInclude.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeCompilerIdDetection.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeDetermineCCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeDetermineCXXCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeDetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeDetermineCompilerABI.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeDetermineCompilerId.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeDetermineCompilerSupport.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeDetermineSystem.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeFindBinUtils.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeFindDependencyMacro.cmake"
|
"/usr/share/cmake-3.31/Modules/CMakeFindDependencyMacro.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeGenericSystem.cmake"
|
"/usr/share/cmake-3.31/Modules/CMakeGenericSystem.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeInitializeConfigs.cmake"
|
"/usr/share/cmake-3.31/Modules/CMakeInitializeConfigs.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeLanguageInformation.cmake"
|
"/usr/share/cmake-3.31/Modules/CMakeLanguageInformation.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeParseImplicitIncludeInfo.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeParseImplicitLinkInfo.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeParseLibraryArchitecture.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeSystem.cmake.in"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeSystemSpecificInformation.cmake"
|
"/usr/share/cmake-3.31/Modules/CMakeSystemSpecificInformation.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeSystemSpecificInitialize.cmake"
|
"/usr/share/cmake-3.31/Modules/CMakeSystemSpecificInitialize.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeTestCCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeTestCXXCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeTestCompilerCommon.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CMakeUnixFindMake.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/CheckCSourceCompiles.cmake"
|
"/usr/share/cmake-3.31/Modules/CheckCSourceCompiles.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/CheckIncludeFile.cmake"
|
"/usr/share/cmake-3.31/Modules/CheckIncludeFile.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/CheckLibraryExists.cmake"
|
"/usr/share/cmake-3.31/Modules/CheckLibraryExists.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/ADSP-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/ARMClang-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/Borland-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
|
"/usr/share/cmake-3.31/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/Clang-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/Cray-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/CrayClang-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/GHS-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/GNU-C.cmake"
|
"/usr/share/cmake-3.31/Modules/Compiler/GNU-C.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/GNU-CXX.cmake"
|
"/usr/share/cmake-3.31/Modules/Compiler/GNU-CXX.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/GNU-FindBinUtils.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/GNU.cmake"
|
"/usr/share/cmake-3.31/Modules/Compiler/GNU.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/HP-C-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/IAR-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/Intel-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/LCC-C-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/MSVC-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/NVHPC-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/OrangeC-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/PGI-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/PathScale-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/SCO-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/TI-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/TIClang-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/Tasking-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/Watcom-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/XL-C-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/XLClang-C-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/FindFreetype.cmake"
|
"/usr/share/cmake-3.31/Modules/FindFreetype.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/FindOpenGL.cmake"
|
"/usr/share/cmake-3.31/Modules/FindOpenGL.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake"
|
"/usr/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake"
|
||||||
@@ -114,9 +39,7 @@ set(CMAKE_MAKEFILE_DEPENDS
|
|||||||
"/usr/share/cmake-3.31/Modules/Internal/CMakeCLinkerInformation.cmake"
|
"/usr/share/cmake-3.31/Modules/Internal/CMakeCLinkerInformation.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Internal/CMakeCXXLinkerInformation.cmake"
|
"/usr/share/cmake-3.31/Modules/Internal/CMakeCXXLinkerInformation.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Internal/CMakeCommonLinkerInformation.cmake"
|
"/usr/share/cmake-3.31/Modules/Internal/CMakeCommonLinkerInformation.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Internal/CMakeDetermineLinkerId.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Internal/CheckSourceCompiles.cmake"
|
"/usr/share/cmake-3.31/Modules/Internal/CheckSourceCompiles.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Internal/FeatureTesting.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Linker/GNU-C.cmake"
|
"/usr/share/cmake-3.31/Modules/Linker/GNU-C.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Linker/GNU-CXX.cmake"
|
"/usr/share/cmake-3.31/Modules/Linker/GNU-CXX.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Linker/GNU.cmake"
|
"/usr/share/cmake-3.31/Modules/Linker/GNU.cmake"
|
||||||
@@ -124,7 +47,6 @@ set(CMAKE_MAKEFILE_DEPENDS
|
|||||||
"/usr/share/cmake-3.31/Modules/Platform/Linker/Linux-GNU-C.cmake"
|
"/usr/share/cmake-3.31/Modules/Platform/Linker/Linux-GNU-C.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Platform/Linker/Linux-GNU-CXX.cmake"
|
"/usr/share/cmake-3.31/Modules/Platform/Linker/Linux-GNU-CXX.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Platform/Linker/Linux-GNU.cmake"
|
"/usr/share/cmake-3.31/Modules/Platform/Linker/Linux-GNU.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Platform/Linux-Determine-CXX.cmake"
|
|
||||||
"/usr/share/cmake-3.31/Modules/Platform/Linux-GNU-C.cmake"
|
"/usr/share/cmake-3.31/Modules/Platform/Linux-GNU-C.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Platform/Linux-GNU-CXX.cmake"
|
"/usr/share/cmake-3.31/Modules/Platform/Linux-GNU-CXX.cmake"
|
||||||
"/usr/share/cmake-3.31/Modules/Platform/Linux-GNU.cmake"
|
"/usr/share/cmake-3.31/Modules/Platform/Linux-GNU.cmake"
|
||||||
@@ -142,15 +64,11 @@ set(CMAKE_MAKEFILE_OUTPUTS
|
|||||||
|
|
||||||
# Byproducts of CMake generate step:
|
# Byproducts of CMake generate step:
|
||||||
set(CMAKE_MAKEFILE_PRODUCTS
|
set(CMAKE_MAKEFILE_PRODUCTS
|
||||||
"CMakeFiles/3.31.6/CMakeSystem.cmake"
|
|
||||||
"CMakeFiles/3.31.6/CMakeCXXCompiler.cmake"
|
|
||||||
"CMakeFiles/3.31.6/CMakeCCompiler.cmake"
|
|
||||||
"CMakeFiles/3.31.6/CMakeCXXCompiler.cmake"
|
|
||||||
"CMakeFiles/3.31.6/CMakeCCompiler.cmake"
|
|
||||||
"CMakeFiles/CMakeDirectoryInformation.cmake"
|
"CMakeFiles/CMakeDirectoryInformation.cmake"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Dependency information for all targets:
|
# Dependency information for all targets:
|
||||||
set(CMAKE_DEPEND_INFO_FILES
|
set(CMAKE_DEPEND_INFO_FILES
|
||||||
"CMakeFiles/radar_simulation.dir/DependInfo.cmake"
|
"CMakeFiles/radar_simulation.dir/DependInfo.cmake"
|
||||||
|
"CMakeFiles/copy_shaders.dir/DependInfo.cmake"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -64,10 +64,12 @@ CMAKE_BINARY_DIR = /home/maallyn/radar-simulation/build
|
|||||||
|
|
||||||
# The main recursive "all" target.
|
# The main recursive "all" target.
|
||||||
all: CMakeFiles/radar_simulation.dir/all
|
all: CMakeFiles/radar_simulation.dir/all
|
||||||
|
all: CMakeFiles/copy_shaders.dir/all
|
||||||
.PHONY : all
|
.PHONY : all
|
||||||
|
|
||||||
# The main recursive "codegen" target.
|
# The main recursive "codegen" target.
|
||||||
codegen: CMakeFiles/radar_simulation.dir/codegen
|
codegen: CMakeFiles/radar_simulation.dir/codegen
|
||||||
|
codegen: CMakeFiles/copy_shaders.dir/codegen
|
||||||
.PHONY : codegen
|
.PHONY : codegen
|
||||||
|
|
||||||
# The main recursive "preinstall" target.
|
# The main recursive "preinstall" target.
|
||||||
@@ -76,21 +78,22 @@ preinstall:
|
|||||||
|
|
||||||
# The main recursive "clean" target.
|
# The main recursive "clean" target.
|
||||||
clean: CMakeFiles/radar_simulation.dir/clean
|
clean: CMakeFiles/radar_simulation.dir/clean
|
||||||
|
clean: CMakeFiles/copy_shaders.dir/clean
|
||||||
.PHONY : clean
|
.PHONY : clean
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Target rules for target CMakeFiles/radar_simulation.dir
|
# Target rules for target CMakeFiles/radar_simulation.dir
|
||||||
|
|
||||||
# All Build rule for target.
|
# All Build rule for target.
|
||||||
CMakeFiles/radar_simulation.dir/all:
|
CMakeFiles/radar_simulation.dir/all: CMakeFiles/copy_shaders.dir/all
|
||||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/radar_simulation.dir/build.make CMakeFiles/radar_simulation.dir/depend
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/radar_simulation.dir/build.make CMakeFiles/radar_simulation.dir/depend
|
||||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/radar_simulation.dir/build.make CMakeFiles/radar_simulation.dir/build
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/radar_simulation.dir/build.make CMakeFiles/radar_simulation.dir/build
|
||||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/maallyn/radar-simulation/build/CMakeFiles --progress-num=1,2,3 "Built target radar_simulation"
|
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/maallyn/radar-simulation/build/CMakeFiles --progress-num=2,3,4 "Built target radar_simulation"
|
||||||
.PHONY : CMakeFiles/radar_simulation.dir/all
|
.PHONY : CMakeFiles/radar_simulation.dir/all
|
||||||
|
|
||||||
# Build rule for subdir invocation for target.
|
# Build rule for subdir invocation for target.
|
||||||
CMakeFiles/radar_simulation.dir/rule: cmake_check_build_system
|
CMakeFiles/radar_simulation.dir/rule: cmake_check_build_system
|
||||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/maallyn/radar-simulation/build/CMakeFiles 3
|
$(CMAKE_COMMAND) -E cmake_progress_start /home/maallyn/radar-simulation/build/CMakeFiles 4
|
||||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/radar_simulation.dir/all
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/radar_simulation.dir/all
|
||||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/maallyn/radar-simulation/build/CMakeFiles 0
|
$(CMAKE_COMMAND) -E cmake_progress_start /home/maallyn/radar-simulation/build/CMakeFiles 0
|
||||||
.PHONY : CMakeFiles/radar_simulation.dir/rule
|
.PHONY : CMakeFiles/radar_simulation.dir/rule
|
||||||
@@ -100,9 +103,9 @@ radar_simulation: CMakeFiles/radar_simulation.dir/rule
|
|||||||
.PHONY : radar_simulation
|
.PHONY : radar_simulation
|
||||||
|
|
||||||
# codegen rule for target.
|
# codegen rule for target.
|
||||||
CMakeFiles/radar_simulation.dir/codegen:
|
CMakeFiles/radar_simulation.dir/codegen: CMakeFiles/copy_shaders.dir/all
|
||||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/radar_simulation.dir/build.make CMakeFiles/radar_simulation.dir/codegen
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/radar_simulation.dir/build.make CMakeFiles/radar_simulation.dir/codegen
|
||||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/maallyn/radar-simulation/build/CMakeFiles --progress-num=1,2,3 "Finished codegen for target radar_simulation"
|
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/maallyn/radar-simulation/build/CMakeFiles --progress-num=2,3,4 "Finished codegen for target radar_simulation"
|
||||||
.PHONY : CMakeFiles/radar_simulation.dir/codegen
|
.PHONY : CMakeFiles/radar_simulation.dir/codegen
|
||||||
|
|
||||||
# clean rule for target.
|
# clean rule for target.
|
||||||
@@ -110,6 +113,38 @@ CMakeFiles/radar_simulation.dir/clean:
|
|||||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/radar_simulation.dir/build.make CMakeFiles/radar_simulation.dir/clean
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/radar_simulation.dir/build.make CMakeFiles/radar_simulation.dir/clean
|
||||||
.PHONY : CMakeFiles/radar_simulation.dir/clean
|
.PHONY : CMakeFiles/radar_simulation.dir/clean
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Target rules for target CMakeFiles/copy_shaders.dir
|
||||||
|
|
||||||
|
# All Build rule for target.
|
||||||
|
CMakeFiles/copy_shaders.dir/all:
|
||||||
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/copy_shaders.dir/build.make CMakeFiles/copy_shaders.dir/depend
|
||||||
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/copy_shaders.dir/build.make CMakeFiles/copy_shaders.dir/build
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/maallyn/radar-simulation/build/CMakeFiles --progress-num=1 "Built target copy_shaders"
|
||||||
|
.PHONY : CMakeFiles/copy_shaders.dir/all
|
||||||
|
|
||||||
|
# Build rule for subdir invocation for target.
|
||||||
|
CMakeFiles/copy_shaders.dir/rule: cmake_check_build_system
|
||||||
|
$(CMAKE_COMMAND) -E cmake_progress_start /home/maallyn/radar-simulation/build/CMakeFiles 1
|
||||||
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/copy_shaders.dir/all
|
||||||
|
$(CMAKE_COMMAND) -E cmake_progress_start /home/maallyn/radar-simulation/build/CMakeFiles 0
|
||||||
|
.PHONY : CMakeFiles/copy_shaders.dir/rule
|
||||||
|
|
||||||
|
# Convenience name for target.
|
||||||
|
copy_shaders: CMakeFiles/copy_shaders.dir/rule
|
||||||
|
.PHONY : copy_shaders
|
||||||
|
|
||||||
|
# codegen rule for target.
|
||||||
|
CMakeFiles/copy_shaders.dir/codegen:
|
||||||
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/copy_shaders.dir/build.make CMakeFiles/copy_shaders.dir/codegen
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/maallyn/radar-simulation/build/CMakeFiles --progress-num=1 "Finished codegen for target copy_shaders"
|
||||||
|
.PHONY : CMakeFiles/copy_shaders.dir/codegen
|
||||||
|
|
||||||
|
# clean rule for target.
|
||||||
|
CMakeFiles/copy_shaders.dir/clean:
|
||||||
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/copy_shaders.dir/build.make CMakeFiles/copy_shaders.dir/clean
|
||||||
|
.PHONY : CMakeFiles/copy_shaders.dir/clean
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Special targets to cleanup operation of make.
|
# Special targets to cleanup operation of make.
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
/home/maallyn/radar-simulation/build/CMakeFiles/radar_simulation.dir
|
/home/maallyn/radar-simulation/build/CMakeFiles/radar_simulation.dir
|
||||||
|
/home/maallyn/radar-simulation/build/CMakeFiles/copy_shaders.dir
|
||||||
/home/maallyn/radar-simulation/build/CMakeFiles/edit_cache.dir
|
/home/maallyn/radar-simulation/build/CMakeFiles/edit_cache.dir
|
||||||
/home/maallyn/radar-simulation/build/CMakeFiles/rebuild_cache.dir
|
/home/maallyn/radar-simulation/build/CMakeFiles/rebuild_cache.dir
|
||||||
|
|||||||
22
build/CMakeFiles/copy_shaders.dir/DependInfo.cmake
Normal file
22
build/CMakeFiles/copy_shaders.dir/DependInfo.cmake
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
# Consider dependencies only in project.
|
||||||
|
set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
|
||||||
|
|
||||||
|
# The set of languages for which implicit dependencies are needed:
|
||||||
|
set(CMAKE_DEPENDS_LANGUAGES
|
||||||
|
)
|
||||||
|
|
||||||
|
# The set of dependency files which are needed:
|
||||||
|
set(CMAKE_DEPENDS_DEPENDENCY_FILES
|
||||||
|
)
|
||||||
|
|
||||||
|
# Targets to which this target links which contain Fortran sources.
|
||||||
|
set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
|
||||||
|
)
|
||||||
|
|
||||||
|
# Targets to which this target links which contain Fortran sources.
|
||||||
|
set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES
|
||||||
|
)
|
||||||
|
|
||||||
|
# Fortran module output directory.
|
||||||
|
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
|
||||||
91
build/CMakeFiles/copy_shaders.dir/build.make
Normal file
91
build/CMakeFiles/copy_shaders.dir/build.make
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
# CMAKE generated file: DO NOT EDIT!
|
||||||
|
# Generated by "Unix Makefiles" Generator, CMake Version 3.31
|
||||||
|
|
||||||
|
# Delete rule output on recipe failure.
|
||||||
|
.DELETE_ON_ERROR:
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Special targets provided by cmake.
|
||||||
|
|
||||||
|
# Disable implicit rules so canonical targets will work.
|
||||||
|
.SUFFIXES:
|
||||||
|
|
||||||
|
# Disable VCS-based implicit rules.
|
||||||
|
% : %,v
|
||||||
|
|
||||||
|
# Disable VCS-based implicit rules.
|
||||||
|
% : RCS/%
|
||||||
|
|
||||||
|
# Disable VCS-based implicit rules.
|
||||||
|
% : RCS/%,v
|
||||||
|
|
||||||
|
# Disable VCS-based implicit rules.
|
||||||
|
% : SCCS/s.%
|
||||||
|
|
||||||
|
# Disable VCS-based implicit rules.
|
||||||
|
% : s.%
|
||||||
|
|
||||||
|
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||||
|
|
||||||
|
# Command-line flag to silence nested $(MAKE).
|
||||||
|
$(VERBOSE)MAKESILENT = -s
|
||||||
|
|
||||||
|
#Suppress display of executed commands.
|
||||||
|
$(VERBOSE).SILENT:
|
||||||
|
|
||||||
|
# A target that is always out of date.
|
||||||
|
cmake_force:
|
||||||
|
.PHONY : cmake_force
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Set environment variables for the build.
|
||||||
|
|
||||||
|
# The shell in which to execute make rules.
|
||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
# The CMake executable.
|
||||||
|
CMAKE_COMMAND = /usr/bin/cmake
|
||||||
|
|
||||||
|
# The command to remove a file.
|
||||||
|
RM = /usr/bin/cmake -E rm -f
|
||||||
|
|
||||||
|
# Escaping for special characters.
|
||||||
|
EQUALS = =
|
||||||
|
|
||||||
|
# The top-level source directory on which CMake was run.
|
||||||
|
CMAKE_SOURCE_DIR = /home/maallyn/radar-simulation
|
||||||
|
|
||||||
|
# The top-level build directory on which CMake was run.
|
||||||
|
CMAKE_BINARY_DIR = /home/maallyn/radar-simulation/build
|
||||||
|
|
||||||
|
# Utility rule file for copy_shaders.
|
||||||
|
|
||||||
|
# Include any custom commands dependencies for this target.
|
||||||
|
include CMakeFiles/copy_shaders.dir/compiler_depend.make
|
||||||
|
|
||||||
|
# Include the progress variables for this target.
|
||||||
|
include CMakeFiles/copy_shaders.dir/progress.make
|
||||||
|
|
||||||
|
CMakeFiles/copy_shaders:
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/maallyn/radar-simulation/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Copying shaders to build directory"
|
||||||
|
/usr/bin/cmake -E copy_directory /home/maallyn/radar-simulation/shaders /home/maallyn/radar-simulation/build/shaders
|
||||||
|
|
||||||
|
CMakeFiles/copy_shaders.dir/codegen:
|
||||||
|
.PHONY : CMakeFiles/copy_shaders.dir/codegen
|
||||||
|
|
||||||
|
copy_shaders: CMakeFiles/copy_shaders
|
||||||
|
copy_shaders: CMakeFiles/copy_shaders.dir/build.make
|
||||||
|
.PHONY : copy_shaders
|
||||||
|
|
||||||
|
# Rule to build all files generated by this target.
|
||||||
|
CMakeFiles/copy_shaders.dir/build: copy_shaders
|
||||||
|
.PHONY : CMakeFiles/copy_shaders.dir/build
|
||||||
|
|
||||||
|
CMakeFiles/copy_shaders.dir/clean:
|
||||||
|
$(CMAKE_COMMAND) -P CMakeFiles/copy_shaders.dir/cmake_clean.cmake
|
||||||
|
.PHONY : CMakeFiles/copy_shaders.dir/clean
|
||||||
|
|
||||||
|
CMakeFiles/copy_shaders.dir/depend:
|
||||||
|
cd /home/maallyn/radar-simulation/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/maallyn/radar-simulation /home/maallyn/radar-simulation /home/maallyn/radar-simulation/build /home/maallyn/radar-simulation/build /home/maallyn/radar-simulation/build/CMakeFiles/copy_shaders.dir/DependInfo.cmake "--color=$(COLOR)"
|
||||||
|
.PHONY : CMakeFiles/copy_shaders.dir/depend
|
||||||
|
|
||||||
8
build/CMakeFiles/copy_shaders.dir/cmake_clean.cmake
Normal file
8
build/CMakeFiles/copy_shaders.dir/cmake_clean.cmake
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
file(REMOVE_RECURSE
|
||||||
|
"CMakeFiles/copy_shaders"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Per-language clean rules from dependency scanning.
|
||||||
|
foreach(lang )
|
||||||
|
include(CMakeFiles/copy_shaders.dir/cmake_clean_${lang}.cmake OPTIONAL)
|
||||||
|
endforeach()
|
||||||
2
build/CMakeFiles/copy_shaders.dir/compiler_depend.make
Normal file
2
build/CMakeFiles/copy_shaders.dir/compiler_depend.make
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# Empty custom commands generated dependencies file for copy_shaders.
|
||||||
|
# This may be replaced when dependencies are built.
|
||||||
2
build/CMakeFiles/copy_shaders.dir/compiler_depend.ts
Normal file
2
build/CMakeFiles/copy_shaders.dir/compiler_depend.ts
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# CMAKE generated file: DO NOT EDIT!
|
||||||
|
# Timestamp file for custom commands dependencies management for copy_shaders.
|
||||||
2
build/CMakeFiles/copy_shaders.dir/progress.make
Normal file
2
build/CMakeFiles/copy_shaders.dir/progress.make
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
CMAKE_PROGRESS_1 = 1
|
||||||
|
|
||||||
@@ -1 +1 @@
|
|||||||
3
|
4
|
||||||
|
|||||||
@@ -27,21 +27,12 @@ CMakeFiles/radar_simulation.dir/glad/src/glad.c.o
|
|||||||
/usr/include/x86_64-linux-gnu/bits/long-double.h
|
/usr/include/x86_64-linux-gnu/bits/long-double.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h
|
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h
|
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/select-decl.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/select.h
|
/usr/include/x86_64-linux-gnu/bits/select.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/select2.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h
|
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-least.h
|
/usr/include/x86_64-linux-gnu/bits/stdint-least.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h
|
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio2-decl.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio2.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h
|
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h
|
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdlib.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/string_fortified.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/strings_fortified.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h
|
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h
|
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h
|
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h
|
||||||
@@ -104,7 +95,6 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/c++/15/bits/basic_string.tcc
|
/usr/include/c++/15/bits/basic_string.tcc
|
||||||
/usr/include/c++/15/bits/char_traits.h
|
/usr/include/c++/15/bits/char_traits.h
|
||||||
/usr/include/c++/15/bits/charconv.h
|
/usr/include/c++/15/bits/charconv.h
|
||||||
/usr/include/c++/15/bits/chrono.h
|
|
||||||
/usr/include/c++/15/bits/codecvt.h
|
/usr/include/c++/15/bits/codecvt.h
|
||||||
/usr/include/c++/15/bits/concept_check.h
|
/usr/include/c++/15/bits/concept_check.h
|
||||||
/usr/include/c++/15/bits/cpp_type_traits.h
|
/usr/include/c++/15/bits/cpp_type_traits.h
|
||||||
@@ -133,7 +123,6 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/c++/15/bits/ostream.h
|
/usr/include/c++/15/bits/ostream.h
|
||||||
/usr/include/c++/15/bits/ostream.tcc
|
/usr/include/c++/15/bits/ostream.tcc
|
||||||
/usr/include/c++/15/bits/ostream_insert.h
|
/usr/include/c++/15/bits/ostream_insert.h
|
||||||
/usr/include/c++/15/bits/parse_numbers.h
|
|
||||||
/usr/include/c++/15/bits/postypes.h
|
/usr/include/c++/15/bits/postypes.h
|
||||||
/usr/include/c++/15/bits/predefined_ops.h
|
/usr/include/c++/15/bits/predefined_ops.h
|
||||||
/usr/include/c++/15/bits/ptr_traits.h
|
/usr/include/c++/15/bits/ptr_traits.h
|
||||||
@@ -168,16 +157,13 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/c++/15/bits/version.h
|
/usr/include/c++/15/bits/version.h
|
||||||
/usr/include/c++/15/cctype
|
/usr/include/c++/15/cctype
|
||||||
/usr/include/c++/15/cerrno
|
/usr/include/c++/15/cerrno
|
||||||
/usr/include/c++/15/chrono
|
|
||||||
/usr/include/c++/15/clocale
|
/usr/include/c++/15/clocale
|
||||||
/usr/include/c++/15/cmath
|
/usr/include/c++/15/cmath
|
||||||
/usr/include/c++/15/concepts
|
/usr/include/c++/15/concepts
|
||||||
/usr/include/c++/15/cstddef
|
/usr/include/c++/15/cstddef
|
||||||
/usr/include/c++/15/cstdint
|
|
||||||
/usr/include/c++/15/cstdio
|
/usr/include/c++/15/cstdio
|
||||||
/usr/include/c++/15/cstdlib
|
/usr/include/c++/15/cstdlib
|
||||||
/usr/include/c++/15/cstring
|
/usr/include/c++/15/cstring
|
||||||
/usr/include/c++/15/ctime
|
|
||||||
/usr/include/c++/15/cwchar
|
/usr/include/c++/15/cwchar
|
||||||
/usr/include/c++/15/cwctype
|
/usr/include/c++/15/cwctype
|
||||||
/usr/include/c++/15/debug/assertions.h
|
/usr/include/c++/15/debug/assertions.h
|
||||||
@@ -200,7 +186,6 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/c++/15/pstl/execution_defs.h
|
/usr/include/c++/15/pstl/execution_defs.h
|
||||||
/usr/include/c++/15/pstl/glue_algorithm_defs.h
|
/usr/include/c++/15/pstl/glue_algorithm_defs.h
|
||||||
/usr/include/c++/15/pstl/pstl_config.h
|
/usr/include/c++/15/pstl/pstl_config.h
|
||||||
/usr/include/c++/15/ratio
|
|
||||||
/usr/include/c++/15/sstream
|
/usr/include/c++/15/sstream
|
||||||
/usr/include/c++/15/stdexcept
|
/usr/include/c++/15/stdexcept
|
||||||
/usr/include/c++/15/stdlib.h
|
/usr/include/c++/15/stdlib.h
|
||||||
@@ -298,23 +283,13 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h
|
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h
|
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/sched.h
|
/usr/include/x86_64-linux-gnu/bits/sched.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/select-decl.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/select.h
|
/usr/include/x86_64-linux-gnu/bits/select.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/select2.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/setjmp.h
|
/usr/include/x86_64-linux-gnu/bits/setjmp.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/setjmp2.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h
|
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-least.h
|
/usr/include/x86_64-linux-gnu/bits/stdint-least.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h
|
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio2-decl.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio2.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h
|
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h
|
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdlib.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/string_fortified.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/strings_fortified.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h
|
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h
|
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h
|
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h
|
||||||
@@ -353,8 +328,6 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o
|
|||||||
/usr/include/x86_64-linux-gnu/bits/waitflags.h
|
/usr/include/x86_64-linux-gnu/bits/waitflags.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/waitstatus.h
|
/usr/include/x86_64-linux-gnu/bits/waitstatus.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/wchar.h
|
/usr/include/x86_64-linux-gnu/bits/wchar.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/wchar2-decl.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/wchar2.h
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h
|
/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/wordsize.h
|
/usr/include/x86_64-linux-gnu/bits/wordsize.h
|
||||||
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h
|
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h
|
||||||
|
|||||||
@@ -26,21 +26,12 @@ CMakeFiles/radar_simulation.dir/glad/src/glad.c.o: /home/maallyn/radar-simulatio
|
|||||||
/usr/include/x86_64-linux-gnu/bits/long-double.h \
|
/usr/include/x86_64-linux-gnu/bits/long-double.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
|
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
|
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/select-decl.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/select.h \
|
/usr/include/x86_64-linux-gnu/bits/select.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/select2.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h \
|
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-least.h \
|
/usr/include/x86_64-linux-gnu/bits/stdint-least.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
|
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio2-decl.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio2.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
|
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
|
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdlib.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/string_fortified.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/strings_fortified.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
|
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \
|
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
|
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
|
||||||
@@ -102,7 +93,6 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o: /home/maallyn/radar-simulation/s
|
|||||||
/usr/include/c++/15/bits/basic_string.tcc \
|
/usr/include/c++/15/bits/basic_string.tcc \
|
||||||
/usr/include/c++/15/bits/char_traits.h \
|
/usr/include/c++/15/bits/char_traits.h \
|
||||||
/usr/include/c++/15/bits/charconv.h \
|
/usr/include/c++/15/bits/charconv.h \
|
||||||
/usr/include/c++/15/bits/chrono.h \
|
|
||||||
/usr/include/c++/15/bits/codecvt.h \
|
/usr/include/c++/15/bits/codecvt.h \
|
||||||
/usr/include/c++/15/bits/concept_check.h \
|
/usr/include/c++/15/bits/concept_check.h \
|
||||||
/usr/include/c++/15/bits/cpp_type_traits.h \
|
/usr/include/c++/15/bits/cpp_type_traits.h \
|
||||||
@@ -131,7 +121,6 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o: /home/maallyn/radar-simulation/s
|
|||||||
/usr/include/c++/15/bits/ostream.h \
|
/usr/include/c++/15/bits/ostream.h \
|
||||||
/usr/include/c++/15/bits/ostream.tcc \
|
/usr/include/c++/15/bits/ostream.tcc \
|
||||||
/usr/include/c++/15/bits/ostream_insert.h \
|
/usr/include/c++/15/bits/ostream_insert.h \
|
||||||
/usr/include/c++/15/bits/parse_numbers.h \
|
|
||||||
/usr/include/c++/15/bits/postypes.h \
|
/usr/include/c++/15/bits/postypes.h \
|
||||||
/usr/include/c++/15/bits/predefined_ops.h \
|
/usr/include/c++/15/bits/predefined_ops.h \
|
||||||
/usr/include/c++/15/bits/ptr_traits.h \
|
/usr/include/c++/15/bits/ptr_traits.h \
|
||||||
@@ -166,16 +155,13 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o: /home/maallyn/radar-simulation/s
|
|||||||
/usr/include/c++/15/bits/version.h \
|
/usr/include/c++/15/bits/version.h \
|
||||||
/usr/include/c++/15/cctype \
|
/usr/include/c++/15/cctype \
|
||||||
/usr/include/c++/15/cerrno \
|
/usr/include/c++/15/cerrno \
|
||||||
/usr/include/c++/15/chrono \
|
|
||||||
/usr/include/c++/15/clocale \
|
/usr/include/c++/15/clocale \
|
||||||
/usr/include/c++/15/cmath \
|
/usr/include/c++/15/cmath \
|
||||||
/usr/include/c++/15/concepts \
|
/usr/include/c++/15/concepts \
|
||||||
/usr/include/c++/15/cstddef \
|
/usr/include/c++/15/cstddef \
|
||||||
/usr/include/c++/15/cstdint \
|
|
||||||
/usr/include/c++/15/cstdio \
|
/usr/include/c++/15/cstdio \
|
||||||
/usr/include/c++/15/cstdlib \
|
/usr/include/c++/15/cstdlib \
|
||||||
/usr/include/c++/15/cstring \
|
/usr/include/c++/15/cstring \
|
||||||
/usr/include/c++/15/ctime \
|
|
||||||
/usr/include/c++/15/cwchar \
|
/usr/include/c++/15/cwchar \
|
||||||
/usr/include/c++/15/cwctype \
|
/usr/include/c++/15/cwctype \
|
||||||
/usr/include/c++/15/debug/assertions.h \
|
/usr/include/c++/15/debug/assertions.h \
|
||||||
@@ -198,7 +184,6 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o: /home/maallyn/radar-simulation/s
|
|||||||
/usr/include/c++/15/pstl/execution_defs.h \
|
/usr/include/c++/15/pstl/execution_defs.h \
|
||||||
/usr/include/c++/15/pstl/glue_algorithm_defs.h \
|
/usr/include/c++/15/pstl/glue_algorithm_defs.h \
|
||||||
/usr/include/c++/15/pstl/pstl_config.h \
|
/usr/include/c++/15/pstl/pstl_config.h \
|
||||||
/usr/include/c++/15/ratio \
|
|
||||||
/usr/include/c++/15/sstream \
|
/usr/include/c++/15/sstream \
|
||||||
/usr/include/c++/15/stdexcept \
|
/usr/include/c++/15/stdexcept \
|
||||||
/usr/include/c++/15/stdlib.h \
|
/usr/include/c++/15/stdlib.h \
|
||||||
@@ -296,23 +281,13 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o: /home/maallyn/radar-simulation/s
|
|||||||
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
|
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
|
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/sched.h \
|
/usr/include/x86_64-linux-gnu/bits/sched.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/select-decl.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/select.h \
|
/usr/include/x86_64-linux-gnu/bits/select.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/select2.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/setjmp.h \
|
/usr/include/x86_64-linux-gnu/bits/setjmp.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/setjmp2.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h \
|
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-least.h \
|
/usr/include/x86_64-linux-gnu/bits/stdint-least.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
|
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio2-decl.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio2.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
|
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
|
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdlib.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/string_fortified.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/strings_fortified.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
|
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \
|
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
|
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
|
||||||
@@ -351,8 +326,6 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o: /home/maallyn/radar-simulation/s
|
|||||||
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
|
/usr/include/x86_64-linux-gnu/bits/waitflags.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
|
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/wchar.h \
|
/usr/include/x86_64-linux-gnu/bits/wchar.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/wchar2-decl.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/wchar2.h \
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \
|
/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
|
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
|
||||||
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
|
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
|
||||||
@@ -430,6 +403,8 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o:
|
|||||||
|
|
||||||
/lib64/ld-linux-x86-64.so.2:
|
/lib64/ld-linux-x86-64.so.2:
|
||||||
|
|
||||||
|
/lib/x86_64-linux-gnu/libpng16.so.16:
|
||||||
|
|
||||||
/lib/x86_64-linux-gnu/libc.so.6:
|
/lib/x86_64-linux-gnu/libc.so.6:
|
||||||
|
|
||||||
/lib/x86_64-linux-gnu/libbz2.so.1.0:
|
/lib/x86_64-linux-gnu/libbz2.so.1.0:
|
||||||
@@ -470,27 +445,25 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o:
|
|||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h:
|
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/setjmp2.h:
|
/usr/include/c++/15/bits/stl_algobase.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/sched.h:
|
/usr/include/c++/15/clocale:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
|
/usr/include/c++/15/bits/sstream.tcc:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
|
/usr/include/c++/15/bits/locale_facets.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
|
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
|
/usr/include/c++/15/cstdlib:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h:
|
/usr/include/freetype2/freetype/ftmoderr.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/mathcalls-macros.h:
|
/usr/include/c++/15/bits/predefined_ops.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/iscanonical.h:
|
/usr/include/c++/15/bits/postypes.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/wchar2.h:
|
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/fp-logb.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/ostream.tcc:
|
/usr/include/c++/15/bits/ostream.tcc:
|
||||||
|
|
||||||
@@ -510,44 +483,32 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o:
|
|||||||
|
|
||||||
/usr/include/c++/15/bits/locale_classes.tcc:
|
/usr/include/c++/15/bits/locale_classes.tcc:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/iscanonical.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/functional_hash.h:
|
/usr/include/c++/15/bits/functional_hash.h:
|
||||||
|
|
||||||
/usr/include/c++/15/ext/type_traits.h:
|
/usr/include/c++/15/ext/type_traits.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/predefined_ops.h:
|
/usr/include/c++/15/bits/stl_algo.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/cxxabi_forced.h:
|
/usr/include/c++/15/bits/cxxabi_forced.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/chrono.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/nested_exception.h:
|
|
||||||
|
|
||||||
/usr/include/linux/sched/types.h:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/sys/types.h:
|
/usr/include/x86_64-linux-gnu/sys/types.h:
|
||||||
|
|
||||||
/lib/x86_64-linux-gnu/libm.so.6:
|
/lib/x86_64-linux-gnu/libm.so.6:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/char_traits.h:
|
/usr/include/c++/15/bits/char_traits.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/locale.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/basic_ios.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/tr1/modified_bessel_func.tcc:
|
/usr/include/c++/15/tr1/modified_bessel_func.tcc:
|
||||||
|
|
||||||
/usr/include/linux/limits.h:
|
/usr/include/linux/limits.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/ios_base.h:
|
/usr/include/c++/15/bits/ios_base.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/alloc_traits.h:
|
/usr/include/c++/15/bits/alloc_traits.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/math-vector.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/hash_bytes.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/algorithm:
|
|
||||||
|
|
||||||
/usr/lib/gcc/x86_64-linux-gnu/15/crtbeginS.o:
|
/usr/lib/gcc/x86_64-linux-gnu/15/crtbeginS.o:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/range_access.h:
|
/usr/include/c++/15/bits/range_access.h:
|
||||||
@@ -582,55 +543,39 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o:
|
|||||||
|
|
||||||
/usr/include/setjmp.h:
|
/usr/include/setjmp.h:
|
||||||
|
|
||||||
|
/usr/include/c++/15/bits/std_abs.h:
|
||||||
|
|
||||||
|
/usr/include/c++/15/typeinfo:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
|
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/endian.h:
|
/usr/include/x86_64-linux-gnu/bits/endian.h:
|
||||||
|
|
||||||
|
/usr/lib/gcc/x86_64-linux-gnu/15/crtendS.o:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
|
||||||
|
|
||||||
|
/usr/include/c++/15/ext/string_conversions.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
|
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
|
||||||
|
|
||||||
/usr/include/c++/15/pstl/execution_defs.h:
|
/usr/include/c++/15/pstl/execution_defs.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/wchar.h:
|
/usr/include/x86_64-linux-gnu/bits/stdint-least.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
|
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/ostream_insert.h:
|
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/errno.h:
|
|
||||||
|
|
||||||
/usr/lib/x86_64-linux-gnu/crtn.o:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
|
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
|
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
|
||||||
|
|
||||||
/usr/include/stdc-predef.h:
|
/usr/include/x86_64-linux-gnu/bits/wchar.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
|
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
|
||||||
|
|
||||||
/usr/include/c++/15/system_error:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdlib.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/stl_uninitialized.h:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/asm/errno.h:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
|
|
||||||
|
|
||||||
/lib/x86_64-linux-gnu/libpng16.so.16:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/select-decl.h:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
|
|
||||||
|
|
||||||
/usr/include/freetype2/freetype/fttypes.h:
|
|
||||||
|
|
||||||
/usr/include/locale.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/algorithmfwd.h:
|
/usr/include/c++/15/bits/algorithmfwd.h:
|
||||||
|
|
||||||
@@ -644,14 +589,6 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o:
|
|||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/endianness.h:
|
/usr/include/x86_64-linux-gnu/bits/endianness.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
|
|
||||||
|
|
||||||
/usr/include/stdint.h:
|
|
||||||
|
|
||||||
/usr/include/endian.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/cmath:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/cpp_type_traits.h:
|
/usr/include/c++/15/bits/cpp_type_traits.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/basic_string.h:
|
/usr/include/c++/15/bits/basic_string.h:
|
||||||
@@ -660,10 +597,16 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o:
|
|||||||
|
|
||||||
/usr/include/c++/15/bits/concept_check.h:
|
/usr/include/c++/15/bits/concept_check.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/wchar2-decl.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/version.h:
|
/usr/include/c++/15/bits/version.h:
|
||||||
|
|
||||||
|
/usr/include/stdc-predef.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
|
||||||
|
|
||||||
|
/usr/include/c++/15/backward/binders.h:
|
||||||
|
|
||||||
|
/usr/include/c++/15/bits/specfun.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/floatn.h:
|
/usr/include/x86_64-linux-gnu/bits/floatn.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/istream.tcc:
|
/usr/include/c++/15/bits/istream.tcc:
|
||||||
@@ -700,15 +643,19 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o:
|
|||||||
|
|
||||||
/usr/include/c++/15/bits/uses_allocator.h:
|
/usr/include/c++/15/bits/uses_allocator.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
|
|
||||||
|
|
||||||
/home/maallyn/radar-simulation/glad/src/glad.c:
|
/home/maallyn/radar-simulation/glad/src/glad.c:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/select2.h:
|
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
|
||||||
|
|
||||||
/usr/include/c++/15/ext/alloc_traits.h:
|
/usr/include/string.h:
|
||||||
|
|
||||||
/usr/include/linux/types.h:
|
/usr/include/c++/15/bits/stl_function.h:
|
||||||
|
|
||||||
|
/usr/include/c++/15/cwchar:
|
||||||
|
|
||||||
|
/usr/include/c++/15/bits/requires_hosted.h:
|
||||||
|
|
||||||
|
/usr/include/dlfcn.h:
|
||||||
|
|
||||||
/lib/x86_64-linux-gnu/libmvec.so.1:
|
/lib/x86_64-linux-gnu/libmvec.so.1:
|
||||||
|
|
||||||
@@ -718,12 +665,22 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o:
|
|||||||
|
|
||||||
/usr/include/freetype2/freetype/config/mac-support.h:
|
/usr/include/freetype2/freetype/config/mac-support.h:
|
||||||
|
|
||||||
|
/usr/include/c++/15/tr1/gamma.tcc:
|
||||||
|
|
||||||
|
/usr/lib/gcc/x86_64-linux-gnu/15/include/stdarg.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/locale_facets.tcc:
|
/usr/include/c++/15/bits/locale_facets.tcc:
|
||||||
|
|
||||||
/usr/include/ctype.h:
|
/usr/include/ctype.h:
|
||||||
|
|
||||||
/usr/include/features.h:
|
/usr/include/features.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/timex.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
|
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/exception_ptr.h:
|
/usr/include/c++/15/bits/exception_ptr.h:
|
||||||
@@ -738,6 +695,10 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o:
|
|||||||
|
|
||||||
/usr/include/pthread.h:
|
/usr/include/pthread.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/time64.h:
|
/usr/include/x86_64-linux-gnu/bits/time64.h:
|
||||||
|
|
||||||
/usr/include/freetype2/freetype/config/ftconfig.h:
|
/usr/include/freetype2/freetype/config/ftconfig.h:
|
||||||
@@ -752,6 +713,8 @@ CMakeFiles/radar_simulation.dir/glad/src/glad.c.o:
|
|||||||
|
|
||||||
/usr/include/c++/15/bits/invoke.h:
|
/usr/include/c++/15/bits/invoke.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/memoryfwd.h:
|
/usr/include/c++/15/bits/memoryfwd.h:
|
||||||
|
|
||||||
/usr/include/freetype2/freetype/ftsystem.h:
|
/usr/include/freetype2/freetype/ftsystem.h:
|
||||||
@@ -764,6 +727,10 @@ CMakeFiles/radar_simulation.dir/glad/src/glad.c.o:
|
|||||||
|
|
||||||
/usr/include/c++/15/bits/stringfwd.h:
|
/usr/include/c++/15/bits/stringfwd.h:
|
||||||
|
|
||||||
|
/usr/include/c++/15/bits/ostream_insert.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/errno.h:
|
||||||
|
|
||||||
/usr/include/features-time64.h:
|
/usr/include/features-time64.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/uniform_int_dist.h:
|
/usr/include/c++/15/bits/uniform_int_dist.h:
|
||||||
@@ -776,41 +743,29 @@ CMakeFiles/radar_simulation.dir/glad/src/glad.c.o:
|
|||||||
|
|
||||||
/usr/include/c++/15/bits/codecvt.h:
|
/usr/include/c++/15/bits/codecvt.h:
|
||||||
|
|
||||||
/usr/include/string.h:
|
/usr/include/x86_64-linux-gnu/bits/mathcalls-macros.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/stl_function.h:
|
/usr/include/c++/15/bits/refwrap.h:
|
||||||
|
|
||||||
/usr/include/c++/15/cwchar:
|
/usr/include/c++/15/type_traits:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
|
/usr/include/stdint.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdint-least.h:
|
/usr/include/endian.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/strings_fortified.h:
|
/usr/include/c++/15/cmath:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
|
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/timex.h:
|
/usr/include/c++/15/bits/basic_ios.tcc:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
|
/usr/include/c++/15/system_error:
|
||||||
|
|
||||||
/usr/include/c++/15/tr1/gamma.tcc:
|
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
|
||||||
|
|
||||||
/usr/lib/gcc/x86_64-linux-gnu/15/include/stdarg.h:
|
/usr/include/c++/15/bits/stl_uninitialized.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio2.h:
|
/usr/include/x86_64-linux-gnu/asm/errno.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/locale_facets.h:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
|
|
||||||
|
|
||||||
/usr/include/dlfcn.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/requires_hosted.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/cstdlib:
|
|
||||||
|
|
||||||
/usr/include/freetype2/freetype/ftmoderr.h:
|
|
||||||
|
|
||||||
/usr/include/stdio.h:
|
/usr/include/stdio.h:
|
||||||
|
|
||||||
@@ -820,61 +775,27 @@ CMakeFiles/radar_simulation.dir/glad/src/glad.c.o:
|
|||||||
|
|
||||||
/usr/include/c++/15/tr1/exp_integral.tcc:
|
/usr/include/c++/15/tr1/exp_integral.tcc:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
|
|
||||||
|
|
||||||
/usr/lib/gcc/x86_64-linux-gnu/15/crtendS.o:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/ext/string_conversions.h:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/basic_ios.tcc:
|
|
||||||
|
|
||||||
/usr/include/c++/15/backward/binders.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/specfun.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/parse_numbers.h:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
|
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
|
||||||
|
|
||||||
/usr/include/freetype2/freetype/fterrors.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/concepts:
|
/usr/include/c++/15/concepts:
|
||||||
|
|
||||||
|
/usr/include/freetype2/freetype/fterrors.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
|
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
|
||||||
|
|
||||||
/usr/include/c++/15/istream:
|
/usr/include/c++/15/istream:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio.h:
|
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/postypes.h:
|
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
|
/usr/include/freetype2/freetype/fttypes.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/refwrap.h:
|
/usr/include/locale.h:
|
||||||
|
|
||||||
/usr/include/c++/15/type_traits:
|
/usr/lib/x86_64-linux-gnu/crtn.o:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/sstream.tcc:
|
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/std_abs.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/typeinfo:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/stl_algo.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/stl_algobase.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/clocale:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/stl_iterator.h:
|
/usr/include/c++/15/bits/stl_iterator.h:
|
||||||
|
|
||||||
@@ -898,12 +819,6 @@ CMakeFiles/radar_simulation.dir/glad/src/glad.c.o:
|
|||||||
|
|
||||||
/usr/include/c++/15/bits/stl_iterator_base_types.h:
|
/usr/include/c++/15/bits/stl_iterator_base_types.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/fp-fast.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/stl_bvector.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/stl_pair.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/cctype:
|
/usr/include/c++/15/cctype:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/stl_tempbuf.h:
|
/usr/include/c++/15/bits/stl_tempbuf.h:
|
||||||
@@ -914,10 +829,6 @@ CMakeFiles/radar_simulation.dir/glad/src/glad.c.o:
|
|||||||
|
|
||||||
/usr/include/c++/15/bits/stl_vector.h:
|
/usr/include/c++/15/bits/stl_vector.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/asm/types.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/cwctype:
|
|
||||||
|
|
||||||
/usr/include/c++/15/bits/basic_string.tcc:
|
/usr/include/c++/15/bits/basic_string.tcc:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/streambuf.tcc:
|
/usr/include/c++/15/bits/streambuf.tcc:
|
||||||
@@ -936,10 +847,6 @@ CMakeFiles/radar_simulation.dir/glad/src/glad.c.o:
|
|||||||
|
|
||||||
/usr/include/c++/15/cerrno:
|
/usr/include/c++/15/cerrno:
|
||||||
|
|
||||||
/usr/include/c++/15/chrono:
|
|
||||||
|
|
||||||
/usr/include/c++/15/cstdint:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
|
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
|
||||||
|
|
||||||
/usr/include/c++/15/cstring:
|
/usr/include/c++/15/cstring:
|
||||||
@@ -952,6 +859,10 @@ CMakeFiles/radar_simulation.dir/glad/src/glad.c.o:
|
|||||||
|
|
||||||
/usr/include/c++/15/exception:
|
/usr/include/c++/15/exception:
|
||||||
|
|
||||||
|
/usr/include/c++/15/ext/alloc_traits.h:
|
||||||
|
|
||||||
|
/usr/include/linux/types.h:
|
||||||
|
|
||||||
/usr/include/c++/15/ext/numeric_traits.h:
|
/usr/include/c++/15/ext/numeric_traits.h:
|
||||||
|
|
||||||
/usr/include/c++/15/ios:
|
/usr/include/c++/15/ios:
|
||||||
@@ -986,12 +897,8 @@ CMakeFiles/radar_simulation.dir/glad/src/glad.c.o:
|
|||||||
|
|
||||||
/usr/include/c++/15/tr1/poly_hermite.tcc:
|
/usr/include/c++/15/tr1/poly_hermite.tcc:
|
||||||
|
|
||||||
/usr/include/c++/15/ratio:
|
|
||||||
|
|
||||||
/usr/include/c++/15/stdexcept:
|
/usr/include/c++/15/stdexcept:
|
||||||
|
|
||||||
/usr/include/c++/15/ctime:
|
|
||||||
|
|
||||||
/usr/include/c++/15/stdlib.h:
|
/usr/include/c++/15/stdlib.h:
|
||||||
|
|
||||||
/usr/include/c++/15/string:
|
/usr/include/c++/15/string:
|
||||||
@@ -1006,10 +913,10 @@ CMakeFiles/radar_simulation.dir/glad/src/glad.c.o:
|
|||||||
|
|
||||||
/usr/include/c++/15/tr1/ell_integral.tcc:
|
/usr/include/c++/15/tr1/ell_integral.tcc:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h:
|
|
||||||
|
|
||||||
/usr/include/c++/15/tr1/legendre_function.tcc:
|
/usr/include/c++/15/tr1/legendre_function.tcc:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/charconv.h:
|
/usr/include/c++/15/bits/charconv.h:
|
||||||
|
|
||||||
/usr/include/c++/15/pstl/glue_algorithm_defs.h:
|
/usr/include/c++/15/pstl/glue_algorithm_defs.h:
|
||||||
@@ -1042,20 +949,16 @@ CMakeFiles/radar_simulation.dir/glad/src/glad.c.o:
|
|||||||
|
|
||||||
/usr/include/freetype2/freetype/fterrdef.h:
|
/usr/include/freetype2/freetype/fterrdef.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
|
|
||||||
|
|
||||||
/usr/include/freetype2/ft2build.h:
|
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/stdio2-decl.h:
|
|
||||||
|
|
||||||
/usr/include/linux/posix_types.h:
|
/usr/include/linux/posix_types.h:
|
||||||
|
|
||||||
/usr/include/GLFW/glfw3.h:
|
/usr/include/GLFW/glfw3.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/flt-eval-method.h:
|
/usr/include/x86_64-linux-gnu/bits/flt-eval-method.h:
|
||||||
|
|
||||||
|
/usr/include/c++/15/bits/nested_exception.h:
|
||||||
|
|
||||||
|
/usr/include/linux/sched/types.h:
|
||||||
|
|
||||||
/usr/include/c++/15/bits/locale_classes.h:
|
/usr/include/c++/15/bits/locale_classes.h:
|
||||||
|
|
||||||
/usr/include/linux/stddef.h:
|
/usr/include/linux/stddef.h:
|
||||||
@@ -1068,6 +971,40 @@ CMakeFiles/radar_simulation.dir/glad/src/glad.c.o:
|
|||||||
|
|
||||||
/usr/include/time.h:
|
/usr/include/time.h:
|
||||||
|
|
||||||
|
/usr/include/c++/15/cwctype:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/asm/types.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
|
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
|
||||||
|
|
||||||
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
|
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
|
||||||
|
|
||||||
|
/usr/include/c++/15/bits/stl_bvector.h:
|
||||||
|
|
||||||
|
/usr/include/c++/15/bits/stl_pair.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/fp-fast.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/fp-logb.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
|
||||||
|
|
||||||
|
/usr/include/freetype2/ft2build.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
|
||||||
|
|
||||||
|
/usr/include/c++/15/bits/basic_ios.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/locale.h:
|
||||||
|
|
||||||
|
/usr/include/c++/15/bits/hash_bytes.h:
|
||||||
|
|
||||||
|
/usr/include/c++/15/algorithm:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/math-vector.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
|
||||||
|
|
||||||
|
/usr/include/x86_64-linux-gnu/bits/sched.h:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
CMAKE_PROGRESS_1 = 1
|
CMAKE_PROGRESS_1 = 2
|
||||||
CMAKE_PROGRESS_2 = 2
|
CMAKE_PROGRESS_2 = 3
|
||||||
CMAKE_PROGRESS_3 = 3
|
CMAKE_PROGRESS_3 = 4
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -233,9 +233,6 @@ CMakeFiles/radar_simulation.dir/src/main.cpp.o: \
|
|||||||
/usr/include/x86_64-linux-gnu/c++/15/bits/c++io.h \
|
/usr/include/x86_64-linux-gnu/c++/15/bits/c++io.h \
|
||||||
/usr/include/c++/15/bits/fstream.tcc /usr/include/c++/15/sstream \
|
/usr/include/c++/15/bits/fstream.tcc /usr/include/c++/15/sstream \
|
||||||
/usr/include/c++/15/bits/sstream.tcc /usr/include/c++/15/iostream \
|
/usr/include/c++/15/bits/sstream.tcc /usr/include/c++/15/iostream \
|
||||||
/usr/include/c++/15/chrono /usr/include/c++/15/bits/chrono.h \
|
|
||||||
/usr/include/c++/15/ratio /usr/include/c++/15/cstdint \
|
|
||||||
/usr/include/c++/15/ctime /usr/include/c++/15/bits/parse_numbers.h \
|
|
||||||
/usr/include/c++/15/algorithm /usr/include/c++/15/bits/stl_algo.h \
|
/usr/include/c++/15/algorithm /usr/include/c++/15/bits/stl_algo.h \
|
||||||
/usr/include/c++/15/bits/algorithmfwd.h \
|
/usr/include/c++/15/bits/algorithmfwd.h \
|
||||||
/usr/include/c++/15/bits/stl_heap.h \
|
/usr/include/c++/15/bits/stl_heap.h \
|
||||||
|
|||||||
@@ -129,6 +129,19 @@ radar_simulation/fast:
|
|||||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/radar_simulation.dir/build.make CMakeFiles/radar_simulation.dir/build
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/radar_simulation.dir/build.make CMakeFiles/radar_simulation.dir/build
|
||||||
.PHONY : radar_simulation/fast
|
.PHONY : radar_simulation/fast
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Target rules for targets named copy_shaders
|
||||||
|
|
||||||
|
# Build rule for target.
|
||||||
|
copy_shaders: cmake_check_build_system
|
||||||
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 copy_shaders
|
||||||
|
.PHONY : copy_shaders
|
||||||
|
|
||||||
|
# fast build rule for target.
|
||||||
|
copy_shaders/fast:
|
||||||
|
$(MAKE) $(MAKESILENT) -f CMakeFiles/copy_shaders.dir/build.make CMakeFiles/copy_shaders.dir/build
|
||||||
|
.PHONY : copy_shaders/fast
|
||||||
|
|
||||||
glad/src/glad.o: glad/src/glad.c.o
|
glad/src/glad.o: glad/src/glad.c.o
|
||||||
.PHONY : glad/src/glad.o
|
.PHONY : glad/src/glad.o
|
||||||
|
|
||||||
@@ -185,6 +198,7 @@ help:
|
|||||||
@echo "... depend"
|
@echo "... depend"
|
||||||
@echo "... edit_cache"
|
@echo "... edit_cache"
|
||||||
@echo "... rebuild_cache"
|
@echo "... rebuild_cache"
|
||||||
|
@echo "... copy_shaders"
|
||||||
@echo "... radar_simulation"
|
@echo "... radar_simulation"
|
||||||
@echo "... glad/src/glad.o"
|
@echo "... glad/src/glad.o"
|
||||||
@echo "... glad/src/glad.i"
|
@echo "... glad/src/glad.i"
|
||||||
|
|||||||
Binary file not shown.
6
build/shaders/ascope_graticule.frag
Normal file
6
build/shaders/ascope_graticule.frag
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#version 330 core
|
||||||
|
uniform vec3 uColor;
|
||||||
|
out vec4 FragColor;
|
||||||
|
void main() {
|
||||||
|
FragColor = vec4(uColor, 1.0);
|
||||||
|
}
|
||||||
6
build/shaders/ascope_graticule.vert
Normal file
6
build/shaders/ascope_graticule.vert
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#version 330 core
|
||||||
|
layout(location = 0) in vec2 aPos;
|
||||||
|
uniform float uYOffset;
|
||||||
|
void main() {
|
||||||
|
gl_Position = vec4(aPos.x, aPos.y + uYOffset, 0.0, 1.0);
|
||||||
|
}
|
||||||
9
build/shaders/ascope_graticule_text.frag
Normal file
9
build/shaders/ascope_graticule_text.frag
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#version 330 core
|
||||||
|
in vec2 vUV;
|
||||||
|
uniform sampler2D uTexture;
|
||||||
|
uniform vec3 uColor;
|
||||||
|
out vec4 FragColor;
|
||||||
|
void main() {
|
||||||
|
float alpha = texture(uTexture, vUV).r;
|
||||||
|
FragColor = vec4(uColor, alpha);
|
||||||
|
}
|
||||||
9
build/shaders/ascope_graticule_text.vert
Normal file
9
build/shaders/ascope_graticule_text.vert
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#version 330 core
|
||||||
|
layout(location = 0) in vec2 aPos;
|
||||||
|
layout(location = 1) in vec2 aUV;
|
||||||
|
uniform float uYOffset;
|
||||||
|
out vec2 vUV;
|
||||||
|
void main() {
|
||||||
|
gl_Position = vec4(aPos.x, aPos.y + uYOffset, 0.0, 1.0);
|
||||||
|
vUV = aUV;
|
||||||
|
}
|
||||||
6
build/shaders/ppi_range_rings.frag
Normal file
6
build/shaders/ppi_range_rings.frag
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#version 330 core
|
||||||
|
in vec3 vColor;
|
||||||
|
out vec4 fragColor;
|
||||||
|
void main() {
|
||||||
|
fragColor = vec4(vColor, 1.0);
|
||||||
|
}
|
||||||
8
build/shaders/ppi_range_rings.vert
Normal file
8
build/shaders/ppi_range_rings.vert
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#version 330 core
|
||||||
|
layout(location = 0) in vec2 aPos;
|
||||||
|
layout(location = 1) in vec3 aColor;
|
||||||
|
out vec3 vColor;
|
||||||
|
void main() {
|
||||||
|
gl_Position = vec4(aPos, 0.0, 1.0);
|
||||||
|
vColor = aColor;
|
||||||
|
}
|
||||||
11
build/shaders/ppi_targets.frag
Normal file
11
build/shaders/ppi_targets.frag
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#version 330 core
|
||||||
|
in vec2 vUV; // [-1,1] range — distance from blob centre
|
||||||
|
out vec4 fragColor;
|
||||||
|
uniform vec3 uColor;
|
||||||
|
uniform float uFalloff; // gaussian width: larger = tighter core
|
||||||
|
void main() {
|
||||||
|
float d = length(vUV);
|
||||||
|
if (d > 1.0) discard;
|
||||||
|
float intensity = exp(-uFalloff * d * d);
|
||||||
|
fragColor = vec4(uColor * intensity, intensity);
|
||||||
|
}
|
||||||
8
build/shaders/ppi_targets.vert
Normal file
8
build/shaders/ppi_targets.vert
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#version 330 core
|
||||||
|
layout(location = 0) in vec2 aPos;
|
||||||
|
layout(location = 1) in vec2 aUV;
|
||||||
|
out vec2 vUV;
|
||||||
|
void main() {
|
||||||
|
gl_Position = vec4(aPos, 0.0, 1.0);
|
||||||
|
vUV = aUV;
|
||||||
|
}
|
||||||
562
src/main.cpp
562
src/main.cpp
@@ -1,7 +1,9 @@
|
|||||||
// Radar Simulation — Feature Test: 1 & 2
|
// Radar Simulation — Feature Test: 1, 2 & 3
|
||||||
// Feature 1: Initialize display, draw scope boundaries (PPI circle, A scope box)
|
// Feature 1: Initialize display, draw scope boundaries (PPI circle, A scope box)
|
||||||
// Feature 2: PPI bearing ring with tick marks and degree labels
|
// Feature 2: PPI bearing ring with tick marks and degree labels
|
||||||
// Runs for 10 seconds then exits. Press ESC to exit early.
|
// Feature 3: Replaceable A scope graticule — cycles through 2/5/10/15 mi ranges,
|
||||||
|
// 5 s hold per range, 0.5 s slide animation between ranges.
|
||||||
|
// Press ESC to exit.
|
||||||
|
|
||||||
#include <glad/glad.h>
|
#include <glad/glad.h>
|
||||||
#include <GLFW/glfw3.h>
|
#include <GLFW/glfw3.h>
|
||||||
@@ -15,7 +17,6 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <chrono>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
|
||||||
@@ -24,12 +25,12 @@
|
|||||||
static constexpr float PI = 3.14159265358979323846f;
|
static constexpr float PI = 3.14159265358979323846f;
|
||||||
static constexpr int CIRCLE_SEGS = 360;
|
static constexpr int CIRCLE_SEGS = 360;
|
||||||
|
|
||||||
// Incandescent (warm lamp) — bearing graticule
|
// Incandescent (warm lamp) — bearing graticule and A scope graticule
|
||||||
static constexpr float INCAN_R = 1.00f;
|
static constexpr float INCAN_R = 1.00f;
|
||||||
static constexpr float INCAN_G = 0.78f;
|
static constexpr float INCAN_G = 0.78f;
|
||||||
static constexpr float INCAN_B = 0.35f;
|
static constexpr float INCAN_B = 0.35f;
|
||||||
|
|
||||||
// P1 phosphor (green) — A scope
|
// P1 phosphor (green) — A scope boundary
|
||||||
static constexpr float P1_R = 0.00f;
|
static constexpr float P1_R = 0.00f;
|
||||||
static constexpr float P1_G = 0.90f;
|
static constexpr float P1_G = 0.90f;
|
||||||
static constexpr float P1_B = 0.20f;
|
static constexpr float P1_B = 0.20f;
|
||||||
@@ -38,6 +39,21 @@ static constexpr float P1_B = 0.20f;
|
|||||||
static constexpr int GLYPH_FIRST = '0';
|
static constexpr int GLYPH_FIRST = '0';
|
||||||
static constexpr int GLYPH_COUNT = 10;
|
static constexpr int GLYPH_COUNT = 10;
|
||||||
|
|
||||||
|
// Feature 3 timing
|
||||||
|
static constexpr float HOLD_SEC = 5.0f;
|
||||||
|
static constexpr float SLIDE_SEC = 0.5f;
|
||||||
|
|
||||||
|
// P7 phosphor — active (blueish white) and persistence (greenish yellow)
|
||||||
|
static constexpr float P7A_R = 0.85f, P7A_G = 0.92f, P7A_B = 1.00f;
|
||||||
|
static constexpr float P7P_R = 0.35f, P7P_G = 0.88f, P7P_B = 0.18f;
|
||||||
|
|
||||||
|
// Sweep / persistence
|
||||||
|
static constexpr float SWEEP_DEG_PS = 20.0f * 6.0f; // 20 RPM → 120 °/s
|
||||||
|
static constexpr float TRAIL_DEG = 50.0f; // lit arc behind sweep (°)
|
||||||
|
static constexpr float TARG_PERSIST = 5.0f; // target glow lifetime (s)
|
||||||
|
static constexpr int RING_SEGS = 300;
|
||||||
|
static constexpr int TRAIL_SEGS = 50;
|
||||||
|
|
||||||
// ─── NDC helpers ─────────────────────────────────────────────────────────────
|
// ─── NDC helpers ─────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
static inline float ndcX(float px, float W) { return px / W * 2.0f - 1.0f; }
|
static inline float ndcX(float px, float W) { return px / W * 2.0f - 1.0f; }
|
||||||
@@ -114,12 +130,12 @@ static void makeTextVAO(GLuint& vao, GLuint& vbo, const std::vector<float>& v)
|
|||||||
// ─── FreeType font atlas ─────────────────────────────────────────────────────
|
// ─── FreeType font atlas ─────────────────────────────────────────────────────
|
||||||
|
|
||||||
struct GlyphInfo {
|
struct GlyphInfo {
|
||||||
int atlasX; // pixel x offset in atlas
|
int atlasX;
|
||||||
int bitmapW; // rendered width
|
int bitmapW;
|
||||||
int bitmapH; // rendered height
|
int bitmapH;
|
||||||
int bearingX; // horizontal offset from cursor to left of bitmap
|
int bearingX;
|
||||||
int bearingY; // vertical offset from baseline to top of bitmap
|
int bearingY;
|
||||||
int advance; // horizontal advance in pixels
|
int advance;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct FontAtlas {
|
struct FontAtlas {
|
||||||
@@ -143,12 +159,11 @@ static bool buildFontAtlas(FontAtlas& fa, const std::string& fontPath, int sizeP
|
|||||||
}
|
}
|
||||||
FT_Set_Pixel_Sizes(face, 0, sizePx);
|
FT_Set_Pixel_Sizes(face, 0, sizePx);
|
||||||
|
|
||||||
// First pass — measure atlas dimensions
|
|
||||||
int totalW = 0, maxH = 0;
|
int totalW = 0, maxH = 0;
|
||||||
for (int i = 0; i < GLYPH_COUNT; ++i) {
|
for (int i = 0; i < GLYPH_COUNT; ++i) {
|
||||||
if (FT_Load_Char(face, GLYPH_FIRST + i, FT_LOAD_RENDER)) continue;
|
if (FT_Load_Char(face, GLYPH_FIRST + i, FT_LOAD_RENDER)) continue;
|
||||||
FT_GlyphSlot g = face->glyph;
|
FT_GlyphSlot g = face->glyph;
|
||||||
totalW += (int)g->bitmap.width + 2; // 2-pixel padding between glyphs
|
totalW += (int)g->bitmap.width + 2;
|
||||||
maxH = std::max(maxH, (int)g->bitmap.rows);
|
maxH = std::max(maxH, (int)g->bitmap.rows);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,7 +171,6 @@ static bool buildFontAtlas(FontAtlas& fa, const std::string& fontPath, int sizeP
|
|||||||
fa.atlasH = maxH;
|
fa.atlasH = maxH;
|
||||||
std::vector<uint8_t> atlas(fa.atlasW * fa.atlasH, 0);
|
std::vector<uint8_t> atlas(fa.atlasW * fa.atlasH, 0);
|
||||||
|
|
||||||
// Second pass — render each glyph into the atlas
|
|
||||||
int xOff = 0;
|
int xOff = 0;
|
||||||
for (int i = 0; i < GLYPH_COUNT; ++i) {
|
for (int i = 0; i < GLYPH_COUNT; ++i) {
|
||||||
if (FT_Load_Char(face, GLYPH_FIRST + i, FT_LOAD_RENDER)) continue;
|
if (FT_Load_Char(face, GLYPH_FIRST + i, FT_LOAD_RENDER)) continue;
|
||||||
@@ -178,7 +192,6 @@ static bool buildFontAtlas(FontAtlas& fa, const std::string& fontPath, int sizeP
|
|||||||
xOff += gi.bitmapW + 2;
|
xOff += gi.bitmapW + 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Upload atlas as single-channel (RED) texture
|
|
||||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
||||||
glGenTextures(1, &fa.texture);
|
glGenTextures(1, &fa.texture);
|
||||||
glBindTexture(GL_TEXTURE_2D, fa.texture);
|
glBindTexture(GL_TEXTURE_2D, fa.texture);
|
||||||
@@ -188,7 +201,7 @@ static bool buildFontAtlas(FontAtlas& fa, const std::string& fontPath, int sizeP
|
|||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||||
glBindTexture(GL_TEXTURE_2D, 0);
|
glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 4); // restore default
|
glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
|
||||||
|
|
||||||
FT_Done_Face(face);
|
FT_Done_Face(face);
|
||||||
FT_Done_FreeType(ft);
|
FT_Done_FreeType(ft);
|
||||||
@@ -196,17 +209,16 @@ static bool buildFontAtlas(FontAtlas& fa, const std::string& fontPath, int sizeP
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Append NDC quad vertices for string s, visually centered at screen pixel (cx, cy).
|
// Append NDC quad vertices for string s, visually centered at screen pixel (cx, cy).
|
||||||
// Only digits '0'–'9' are supported (sufficient for 0..350 degree labels).
|
// Only digits '0'–'9' are supported.
|
||||||
static void appendTextQuads(std::vector<float>& verts, const FontAtlas& fa,
|
static void appendTextQuads(std::vector<float>& verts, const FontAtlas& fa,
|
||||||
const std::string& s, float cx, float cy,
|
const std::string& s, float cx, float cy,
|
||||||
float W, float H)
|
float W, float H)
|
||||||
{
|
{
|
||||||
if (s.empty()) return;
|
if (s.empty()) return;
|
||||||
|
|
||||||
// Measure total advance and vertical extent
|
|
||||||
float totalAdv = 0.0f;
|
float totalAdv = 0.0f;
|
||||||
int maxBY = 0; // highest bearingY (top above baseline)
|
int maxBY = 0;
|
||||||
int minBY = 0; // lowest (bearingY - bitmapH), typically <= 0
|
int minBY = 0;
|
||||||
|
|
||||||
for (char c : s) {
|
for (char c : s) {
|
||||||
int i = (int)c - GLYPH_FIRST;
|
int i = (int)c - GLYPH_FIRST;
|
||||||
@@ -217,9 +229,8 @@ static void appendTextQuads(std::vector<float>& verts, const FontAtlas& fa,
|
|||||||
minBY = std::min(minBY, g.bearingY - g.bitmapH);
|
minBY = std::min(minBY, g.bearingY - g.bitmapH);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Position baseline so the visual center of the glyphs sits at (cx, cy)
|
|
||||||
float visualCenterAboveBaseline = (maxBY + minBY) * 0.5f;
|
float visualCenterAboveBaseline = (maxBY + minBY) * 0.5f;
|
||||||
float baselineY = cy + visualCenterAboveBaseline; // screen y (y-down)
|
float baselineY = cy + visualCenterAboveBaseline;
|
||||||
float cursorX = cx - totalAdv * 0.5f;
|
float cursorX = cx - totalAdv * 0.5f;
|
||||||
|
|
||||||
for (char c : s) {
|
for (char c : s) {
|
||||||
@@ -227,27 +238,19 @@ static void appendTextQuads(std::vector<float>& verts, const FontAtlas& fa,
|
|||||||
if (i < 0 || i >= GLYPH_COUNT) continue;
|
if (i < 0 || i >= GLYPH_COUNT) continue;
|
||||||
const GlyphInfo& g = fa.glyphs[i];
|
const GlyphInfo& g = fa.glyphs[i];
|
||||||
|
|
||||||
// Glyph bounding box in screen pixel space (y increases downward)
|
|
||||||
float gx0 = cursorX + g.bearingX;
|
float gx0 = cursorX + g.bearingX;
|
||||||
float gy0 = baselineY - g.bearingY; // top edge
|
float gy0 = baselineY - g.bearingY;
|
||||||
float gx1 = gx0 + g.bitmapW;
|
float gx1 = gx0 + g.bitmapW;
|
||||||
float gy1 = gy0 + g.bitmapH; // bottom edge
|
float gy1 = gy0 + g.bitmapH;
|
||||||
|
|
||||||
// Atlas UV:
|
|
||||||
// GL uploads atlas row 0 as texture bottom (t = 0).
|
|
||||||
// Atlas row 0 is the TOP of the glyph bitmap.
|
|
||||||
// Screen top vertex (gy0) → t = 0 → samples glyph top ✓
|
|
||||||
// Screen bottom vertex (gy1) → t = v1 → samples glyph bottom ✓
|
|
||||||
float u0 = (float) g.atlasX / fa.atlasW;
|
float u0 = (float) g.atlasX / fa.atlasW;
|
||||||
float u1 = (float)(g.atlasX + g.bitmapW)/ fa.atlasW;
|
float u1 = (float)(g.atlasX + g.bitmapW)/ fa.atlasW;
|
||||||
float v0 = 0.0f;
|
float v0 = 0.0f;
|
||||||
float v1 = (float) g.bitmapH / fa.atlasH;
|
float v1 = (float) g.bitmapH / fa.atlasH;
|
||||||
|
|
||||||
// Triangle 1: TL, TR, BR
|
|
||||||
verts.push_back(ndcX(gx0,W)); verts.push_back(ndcY(gy0,H)); verts.push_back(u0); verts.push_back(v0);
|
verts.push_back(ndcX(gx0,W)); verts.push_back(ndcY(gy0,H)); verts.push_back(u0); verts.push_back(v0);
|
||||||
verts.push_back(ndcX(gx1,W)); verts.push_back(ndcY(gy0,H)); verts.push_back(u1); verts.push_back(v0);
|
verts.push_back(ndcX(gx1,W)); verts.push_back(ndcY(gy0,H)); verts.push_back(u1); verts.push_back(v0);
|
||||||
verts.push_back(ndcX(gx1,W)); verts.push_back(ndcY(gy1,H)); verts.push_back(u1); verts.push_back(v1);
|
verts.push_back(ndcX(gx1,W)); verts.push_back(ndcY(gy1,H)); verts.push_back(u1); verts.push_back(v1);
|
||||||
// Triangle 2: TL, BR, BL
|
|
||||||
verts.push_back(ndcX(gx0,W)); verts.push_back(ndcY(gy0,H)); verts.push_back(u0); verts.push_back(v0);
|
verts.push_back(ndcX(gx0,W)); verts.push_back(ndcY(gy0,H)); verts.push_back(u0); verts.push_back(v0);
|
||||||
verts.push_back(ndcX(gx1,W)); verts.push_back(ndcY(gy1,H)); verts.push_back(u1); verts.push_back(v1);
|
verts.push_back(ndcX(gx1,W)); verts.push_back(ndcY(gy1,H)); verts.push_back(u1); verts.push_back(v1);
|
||||||
verts.push_back(ndcX(gx0,W)); verts.push_back(ndcY(gy1,H)); verts.push_back(u0); verts.push_back(v1);
|
verts.push_back(ndcX(gx0,W)); verts.push_back(ndcY(gy1,H)); verts.push_back(u0); verts.push_back(v1);
|
||||||
@@ -259,22 +262,20 @@ static void appendTextQuads(std::vector<float>& verts, const FontAtlas& fa,
|
|||||||
// ─── Layout ──────────────────────────────────────────────────────────────────
|
// ─── Layout ──────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
struct Layout {
|
struct Layout {
|
||||||
float ppiCX, ppiCY, ppiR; // PPI scope center and radius (pixels)
|
float ppiCX, ppiCY, ppiR;
|
||||||
float asLeft, asTop, asRight, asBot; // A scope rectangle (pixels)
|
float asLeft, asTop, asRight, asBot;
|
||||||
};
|
};
|
||||||
|
|
||||||
static Layout computeLayout(float W, float H, float marginPx)
|
static Layout computeLayout(float W, float H, float marginPx)
|
||||||
{
|
{
|
||||||
Layout L{};
|
Layout L{};
|
||||||
|
|
||||||
// PPI: right half of screen; margins top/bottom/right = marginPx, left = screen centre
|
|
||||||
float availW = (W - marginPx) - W * 0.5f;
|
float availW = (W - marginPx) - W * 0.5f;
|
||||||
float availH = (H - marginPx) - marginPx;
|
float availH = (H - marginPx) - marginPx;
|
||||||
L.ppiR = std::min(availW, availH) * 0.5f;
|
L.ppiR = std::min(availW, availH) * 0.5f;
|
||||||
L.ppiCX = W * 0.5f + availW * 0.5f;
|
L.ppiCX = W * 0.5f + availW * 0.5f;
|
||||||
L.ppiCY = marginPx + availH * 0.5f;
|
L.ppiCY = marginPx + availH * 0.5f;
|
||||||
|
|
||||||
// A scope: left half, smaller, centred vertically, near left margin
|
|
||||||
float asW = (W * 0.5f - 2.0f * marginPx) * 0.65f;
|
float asW = (W * 0.5f - 2.0f * marginPx) * 0.65f;
|
||||||
float asH = H * 0.22f;
|
float asH = H * 0.22f;
|
||||||
L.asLeft = marginPx;
|
L.asLeft = marginPx;
|
||||||
@@ -298,7 +299,6 @@ static ScopeBounds buildScopeBounds(const Layout& L, float W, float H)
|
|||||||
ScopeBounds sb{};
|
ScopeBounds sb{};
|
||||||
std::vector<float> v;
|
std::vector<float> v;
|
||||||
|
|
||||||
// PPI circle (LINE_STRIP, CIRCLE_SEGS+1 verts — last = first, closes the loop)
|
|
||||||
sb.ppiStart = 0;
|
sb.ppiStart = 0;
|
||||||
sb.ppiCount = CIRCLE_SEGS + 1;
|
sb.ppiCount = CIRCLE_SEGS + 1;
|
||||||
for (int i = 0; i <= CIRCLE_SEGS; ++i) {
|
for (int i = 0; i <= CIRCLE_SEGS; ++i) {
|
||||||
@@ -307,17 +307,16 @@ static ScopeBounds buildScopeBounds(const Layout& L, float W, float H)
|
|||||||
v.push_back(ndcY(L.ppiCY + L.ppiR * std::sin(a), H));
|
v.push_back(ndcY(L.ppiCY + L.ppiR * std::sin(a), H));
|
||||||
}
|
}
|
||||||
|
|
||||||
// A scope box (4 × GL_LINES = 8 verts)
|
|
||||||
sb.asStart = sb.ppiStart + sb.ppiCount;
|
sb.asStart = sb.ppiStart + sb.ppiCount;
|
||||||
sb.asCount = 8;
|
sb.asCount = 8;
|
||||||
auto ln = [&](float x1, float y1, float x2, float y2) {
|
auto ln = [&](float x1, float y1, float x2, float y2) {
|
||||||
v.push_back(ndcX(x1,W)); v.push_back(ndcY(y1,H));
|
v.push_back(ndcX(x1,W)); v.push_back(ndcY(y1,H));
|
||||||
v.push_back(ndcX(x2,W)); v.push_back(ndcY(y2,H));
|
v.push_back(ndcX(x2,W)); v.push_back(ndcY(y2,H));
|
||||||
};
|
};
|
||||||
ln(L.asLeft, L.asTop, L.asRight, L.asTop); // top edge
|
ln(L.asLeft, L.asTop, L.asRight, L.asTop);
|
||||||
ln(L.asRight, L.asTop, L.asRight, L.asBot); // right edge
|
ln(L.asRight, L.asTop, L.asRight, L.asBot);
|
||||||
ln(L.asRight, L.asBot, L.asLeft, L.asBot); // bottom edge
|
ln(L.asRight, L.asBot, L.asLeft, L.asBot);
|
||||||
ln(L.asLeft, L.asBot, L.asLeft, L.asTop); // left edge
|
ln(L.asLeft, L.asBot, L.asLeft, L.asTop);
|
||||||
|
|
||||||
makeLineVAO(sb.vao, sb.vbo, v);
|
makeLineVAO(sb.vao, sb.vbo, v);
|
||||||
sb.prog = makeProgram("shaders/scope_bounds.vert", "shaders/scope_bounds.frag");
|
sb.prog = makeProgram("shaders/scope_bounds.vert", "shaders/scope_bounds.frag");
|
||||||
@@ -342,10 +341,8 @@ static BearingGraticule buildBearingGraticule(const Layout& L, const FontAtlas&
|
|||||||
BearingGraticule bg{};
|
BearingGraticule bg{};
|
||||||
const float cx = L.ppiCX, cy = L.ppiCY, R = L.ppiR;
|
const float cx = L.ppiCX, cy = L.ppiCY, R = L.ppiR;
|
||||||
|
|
||||||
// ── Line geometry (ring + ticks) ──────────────────────────────────────────
|
|
||||||
std::vector<float> lineV;
|
std::vector<float> lineV;
|
||||||
|
|
||||||
// Bearing ring circle (LINE_STRIP, closed)
|
|
||||||
bg.ringStart = 0;
|
bg.ringStart = 0;
|
||||||
bg.ringCount = CIRCLE_SEGS + 1;
|
bg.ringCount = CIRCLE_SEGS + 1;
|
||||||
for (int i = 0; i <= CIRCLE_SEGS; ++i) {
|
for (int i = 0; i <= CIRCLE_SEGS; ++i) {
|
||||||
@@ -354,10 +351,6 @@ static BearingGraticule buildBearingGraticule(const Layout& L, const FontAtlas&
|
|||||||
lineV.push_back(ndcY(cy + R * std::sin(a), H));
|
lineV.push_back(ndcY(cy + R * std::sin(a), H));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tick marks: every 1 degree, longer every 10 degrees
|
|
||||||
// Radar convention: 0° = top (north), increasing clockwise
|
|
||||||
// screen_x = cx + R * sin(bearing_rad)
|
|
||||||
// screen_y = cy - R * cos(bearing_rad)
|
|
||||||
const float majorLen = 0.055f * R;
|
const float majorLen = 0.055f * R;
|
||||||
const float minorLen = 0.025f * R;
|
const float minorLen = 0.025f * R;
|
||||||
bg.tickStart = bg.ringStart + bg.ringCount;
|
bg.tickStart = bg.ringStart + bg.ringCount;
|
||||||
@@ -367,19 +360,16 @@ static BearingGraticule buildBearingGraticule(const Layout& L, const FontAtlas&
|
|||||||
float sb = std::sin(brad);
|
float sb = std::sin(brad);
|
||||||
float cb = std::cos(brad);
|
float cb = std::cos(brad);
|
||||||
float len = (b % 10 == 0) ? majorLen : minorLen;
|
float len = (b % 10 == 0) ? majorLen : minorLen;
|
||||||
// Outer point (on the ring)
|
|
||||||
lineV.push_back(ndcX(cx + R * sb, W));
|
lineV.push_back(ndcX(cx + R * sb, W));
|
||||||
lineV.push_back(ndcY(cy - R * cb, H));
|
lineV.push_back(ndcY(cy - R * cb, H));
|
||||||
// Inner point
|
|
||||||
lineV.push_back(ndcX(cx + (R-len) * sb, W));
|
lineV.push_back(ndcX(cx + (R-len) * sb, W));
|
||||||
lineV.push_back(ndcY(cy - (R-len) * cb, H));
|
lineV.push_back(ndcY(cy - (R-len) * cb, H));
|
||||||
}
|
}
|
||||||
|
|
||||||
makeLineVAO(bg.lineVAO, bg.lineVBO, lineV);
|
makeLineVAO(bg.lineVAO, bg.lineVBO, lineV);
|
||||||
|
|
||||||
// ── Text geometry (degree labels every 10°) ────────────────────────────────
|
|
||||||
std::vector<float> textV;
|
std::vector<float> textV;
|
||||||
const float textR = R * 1.07f; // label-centre radius (just outside the ring)
|
const float textR = R * 1.07f;
|
||||||
for (int b = 0; b < 360; b += 10) {
|
for (int b = 0; b < 360; b += 10) {
|
||||||
float brad = b * PI / 180.0f;
|
float brad = b * PI / 180.0f;
|
||||||
float tx = cx + textR * std::sin(brad);
|
float tx = cx + textR * std::sin(brad);
|
||||||
@@ -396,6 +386,371 @@ static BearingGraticule buildBearingGraticule(const Layout& L, const FontAtlas&
|
|||||||
return bg;
|
return bg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ─── Feature 3: A scope replaceable graticule ────────────────────────────────
|
||||||
|
|
||||||
|
// One entry per selectable range. The graticule has numMajor labeled ticks
|
||||||
|
// (full-height vertical lines) and numMinorPerMajor minor ticks between each
|
||||||
|
// pair of major ticks. Label values are computed as (m * maxMiles / numMajor).
|
||||||
|
struct RangeConfig {
|
||||||
|
float maxMiles;
|
||||||
|
int numMajor;
|
||||||
|
int numMinorPerMajor;
|
||||||
|
};
|
||||||
|
|
||||||
|
static const RangeConfig RANGE_CONFIGS[4] = {
|
||||||
|
{ 2.0f, 2, 4 }, // labels: 1, 2 mi
|
||||||
|
{ 5.0f, 5, 1 }, // labels: 1,2,3,4,5 mi
|
||||||
|
{ 10.0f, 5, 1 }, // labels: 2,4,6,8,10 mi
|
||||||
|
{ 15.0f, 5, 2 }, // labels: 3,6,9,12,15 mi
|
||||||
|
};
|
||||||
|
static constexpr int RANGE_COUNT = 4;
|
||||||
|
|
||||||
|
struct AScopeGraticule {
|
||||||
|
GLuint lineVAO = 0, lineVBO = 0;
|
||||||
|
GLuint textVAO = 0, textVBO = 0;
|
||||||
|
int lineCount = 0;
|
||||||
|
int textVerts = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Shared shader programs for all A scope graticules (uYOffset drives animation)
|
||||||
|
struct AScopeGratProg {
|
||||||
|
GLuint line = 0;
|
||||||
|
GLuint text = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
static AScopeGratProg buildAScopeGratPrograms()
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
makeProgram("shaders/ascope_graticule.vert",
|
||||||
|
"shaders/ascope_graticule.frag"),
|
||||||
|
makeProgram("shaders/ascope_graticule_text.vert",
|
||||||
|
"shaders/ascope_graticule_text.frag")
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
static AScopeGraticule buildAScopeGraticule(
|
||||||
|
const Layout& L, const FontAtlas& fa, const RangeConfig& rc,
|
||||||
|
float W, float H)
|
||||||
|
{
|
||||||
|
AScopeGraticule ag{};
|
||||||
|
|
||||||
|
const float asH = L.asBot - L.asTop;
|
||||||
|
const float pad = 4.0f;
|
||||||
|
const float gx0 = L.asLeft + pad; // signal area left
|
||||||
|
const float gx1 = L.asRight - pad; // signal area right
|
||||||
|
const float gy0 = L.asTop + pad; // top of signal area
|
||||||
|
const float gy1 = L.asTop + asH * 0.80f; // baseline (signal y = 0)
|
||||||
|
const float sigW = gx1 - gx0;
|
||||||
|
const float sigH = gy1 - gy0;
|
||||||
|
|
||||||
|
std::vector<float> lineV;
|
||||||
|
auto ln = [&](float x1, float y1, float x2, float y2) {
|
||||||
|
lineV.push_back(ndcX(x1,W)); lineV.push_back(ndcY(y1,H));
|
||||||
|
lineV.push_back(ndcX(x2,W)); lineV.push_back(ndcY(y2,H));
|
||||||
|
};
|
||||||
|
|
||||||
|
// Outer frame (the physical glass plate border)
|
||||||
|
ln(L.asLeft, L.asTop, L.asRight, L.asTop);
|
||||||
|
ln(L.asRight, L.asTop, L.asRight, L.asBot);
|
||||||
|
ln(L.asRight, L.asBot, L.asLeft, L.asBot);
|
||||||
|
ln(L.asLeft, L.asBot, L.asLeft, L.asTop);
|
||||||
|
|
||||||
|
// Baseline and top amplitude reference
|
||||||
|
ln(gx0, gy1, gx1, gy1);
|
||||||
|
ln(gx0, gy0, gx1, gy0);
|
||||||
|
|
||||||
|
// Horizontal amplitude guide lines at 25 %, 50 %, 75 %
|
||||||
|
for (int i = 1; i <= 3; ++i)
|
||||||
|
ln(gx0, gy0 + sigH * i * 0.25f, gx1, gy0 + sigH * i * 0.25f);
|
||||||
|
|
||||||
|
// Vertical tick marks
|
||||||
|
const float majorSpan = sigW / rc.numMajor;
|
||||||
|
const float minorSpan = majorSpan / (rc.numMinorPerMajor + 1);
|
||||||
|
const float minorTickH = sigH * 0.35f;
|
||||||
|
|
||||||
|
for (int m = 0; m < rc.numMajor; ++m) {
|
||||||
|
// Major tick (full signal height) at right edge of each interval
|
||||||
|
float xMaj = gx0 + (m + 1) * majorSpan;
|
||||||
|
ln(xMaj, gy1, xMaj, gy0);
|
||||||
|
|
||||||
|
// Minor ticks between this major and the next
|
||||||
|
float xBase = gx0 + m * majorSpan;
|
||||||
|
for (int n = 1; n <= rc.numMinorPerMajor; ++n) {
|
||||||
|
float xMin = xBase + n * minorSpan;
|
||||||
|
ln(xMin, gy1, xMin, gy1 - minorTickH);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ag.lineCount = (int)lineV.size() / 2;
|
||||||
|
makeLineVAO(ag.lineVAO, ag.lineVBO, lineV);
|
||||||
|
|
||||||
|
// Range labels at each major tick (whole-number miles, centred in label area)
|
||||||
|
std::vector<float> textV;
|
||||||
|
const float labelY = L.asTop + asH * 0.90f;
|
||||||
|
const float milesPerMajor = rc.maxMiles / rc.numMajor;
|
||||||
|
for (int m = 1; m <= rc.numMajor; ++m) {
|
||||||
|
float x = gx0 + m * majorSpan;
|
||||||
|
int labelMi = (int)std::round(m * milesPerMajor);
|
||||||
|
appendTextQuads(textV, fa, std::to_string(labelMi), x, labelY, W, H);
|
||||||
|
}
|
||||||
|
ag.textVerts = (int)textV.size() / 4;
|
||||||
|
makeTextVAO(ag.textVAO, ag.textVBO, textV);
|
||||||
|
|
||||||
|
return ag;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Draw one graticule with a vertical NDC offset (positive = up on screen).
|
||||||
|
// glScissor clips to the A scope box so the slide animation looks like the
|
||||||
|
// graticule is being pulled out / pushed in through a slot at the top.
|
||||||
|
static void drawAScopeGraticule(
|
||||||
|
const AScopeGratProg& prog, const AScopeGraticule& ag,
|
||||||
|
float yOffNDC, const FontAtlas& fa, float W, float H, const Layout& L)
|
||||||
|
{
|
||||||
|
glEnable(GL_SCISSOR_TEST);
|
||||||
|
// OpenGL scissor uses window coords (y=0 at bottom of window)
|
||||||
|
glScissor((GLint) L.asLeft,
|
||||||
|
(GLint)(H - L.asBot),
|
||||||
|
(GLint)(L.asRight - L.asLeft),
|
||||||
|
(GLint)(L.asBot - L.asTop));
|
||||||
|
|
||||||
|
glUseProgram(prog.line);
|
||||||
|
glUniform3f(glGetUniformLocation(prog.line, "uColor"), INCAN_R, INCAN_G, INCAN_B);
|
||||||
|
glUniform1f(glGetUniformLocation(prog.line, "uYOffset"), yOffNDC);
|
||||||
|
glBindVertexArray(ag.lineVAO);
|
||||||
|
glDrawArrays(GL_LINES, 0, ag.lineCount);
|
||||||
|
|
||||||
|
if (ag.textVerts > 0) {
|
||||||
|
glUseProgram(prog.text);
|
||||||
|
glUniform3f(glGetUniformLocation(prog.text, "uColor"), INCAN_R, INCAN_G, INCAN_B);
|
||||||
|
glUniform1f(glGetUniformLocation(prog.text, "uYOffset"), yOffNDC);
|
||||||
|
glUniform1i(glGetUniformLocation(prog.text, "uTexture"), 0);
|
||||||
|
glActiveTexture(GL_TEXTURE0);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, fa.texture);
|
||||||
|
glBindVertexArray(ag.textVAO);
|
||||||
|
glDrawArrays(GL_TRIANGLES, 0, ag.textVerts);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
glBindVertexArray(0);
|
||||||
|
glDisable(GL_SCISSOR_TEST);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ─── Polar coordinate helpers (bearing ° CW from N, range fraction) ─────────
|
||||||
|
|
||||||
|
static inline float polarPx(const Layout& L, float bearDeg, float frac)
|
||||||
|
{ return L.ppiCX + frac * L.ppiR * std::sin(bearDeg * (PI/180.0f)); }
|
||||||
|
|
||||||
|
static inline float polarPy(const Layout& L, float bearDeg, float frac)
|
||||||
|
{ return L.ppiCY - frac * L.ppiR * std::cos(bearDeg * (PI/180.0f)); }
|
||||||
|
|
||||||
|
// ─── Feature 4: PPI range rings ──────────────────────────────────────────────
|
||||||
|
|
||||||
|
// Build vertex data (x,y,r,g,b = 5 floats/vertex):
|
||||||
|
// 1. Full persistence rings (dim P7 green-yellow)
|
||||||
|
// 2. Active sweep-trail arc per ring (active → persistence colour gradient)
|
||||||
|
// 3. Sweep line from centre to edge
|
||||||
|
static void buildRingVerts(std::vector<float>& v,
|
||||||
|
const Layout& L, int rangeIdx,
|
||||||
|
float sweepAngle, float W, float H)
|
||||||
|
{
|
||||||
|
const RangeConfig& rc = RANGE_CONFIGS[rangeIdx];
|
||||||
|
const int nr = rc.numMajor;
|
||||||
|
|
||||||
|
auto push = [&](float px, float py, float r, float g, float b) {
|
||||||
|
v.push_back(ndcX(px,W)); v.push_back(ndcY(py,H));
|
||||||
|
v.push_back(r); v.push_back(g); v.push_back(b);
|
||||||
|
};
|
||||||
|
|
||||||
|
// Full persistence rings (dim)
|
||||||
|
for (int ri = 1; ri <= nr; ++ri) {
|
||||||
|
float frac = (float)ri / nr;
|
||||||
|
for (int i = 0; i <= RING_SEGS; ++i) {
|
||||||
|
float a = 2.0f * PI * i / RING_SEGS;
|
||||||
|
push(L.ppiCX + frac*L.ppiR*std::cos(a),
|
||||||
|
L.ppiCY + frac*L.ppiR*std::sin(a),
|
||||||
|
P7P_R*0.45f, P7P_G*0.45f, P7P_B*0.45f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sweep trail arcs (active at head → persistence at tail)
|
||||||
|
for (int ri = 1; ri <= nr; ++ri) {
|
||||||
|
float frac = (float)ri / nr;
|
||||||
|
for (int i = 0; i <= TRAIL_SEGS; ++i) {
|
||||||
|
float t = 1.0f - (float)i / TRAIL_SEGS;
|
||||||
|
float ang = sweepAngle - (float)i * TRAIL_DEG / TRAIL_SEGS;
|
||||||
|
float r = P7A_R * t + P7P_R * 0.45f * (1.0f - t);
|
||||||
|
float g2 = P7A_G * t + P7P_G * 0.45f * (1.0f - t);
|
||||||
|
float b = P7A_B * t + P7P_B * 0.45f * (1.0f - t);
|
||||||
|
push(polarPx(L,ang,frac), polarPy(L,ang,frac), r, g2, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sweep line (centre → edge)
|
||||||
|
push(L.ppiCX, L.ppiCY, P7A_R, P7A_G, P7A_B);
|
||||||
|
push(polarPx(L,sweepAngle,1.0f), polarPy(L,sweepAngle,1.0f),
|
||||||
|
P7A_R, P7A_G, P7A_B);
|
||||||
|
}
|
||||||
|
|
||||||
|
struct RingLayer {
|
||||||
|
GLuint prog = 0, vao = 0, vbo = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
static RingLayer buildRingLayer()
|
||||||
|
{
|
||||||
|
RingLayer rl{};
|
||||||
|
glGenVertexArrays(1, &rl.vao); glGenBuffers(1, &rl.vbo);
|
||||||
|
glBindVertexArray(rl.vao);
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, rl.vbo);
|
||||||
|
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 5*sizeof(float), nullptr);
|
||||||
|
glEnableVertexAttribArray(0);
|
||||||
|
glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 5*sizeof(float),
|
||||||
|
reinterpret_cast<void*>(2*sizeof(float)));
|
||||||
|
glEnableVertexAttribArray(1);
|
||||||
|
glBindVertexArray(0);
|
||||||
|
rl.prog = makeProgram("shaders/ppi_range_rings.vert",
|
||||||
|
"shaders/ppi_range_rings.frag");
|
||||||
|
return rl;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void renderRingLayer(RingLayer& rl, const Layout& L,
|
||||||
|
int rangeIdx, float sweepAngle, float W, float H)
|
||||||
|
{
|
||||||
|
std::vector<float> v;
|
||||||
|
buildRingVerts(v, L, rangeIdx, sweepAngle, W, H);
|
||||||
|
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, rl.vbo);
|
||||||
|
glBufferData(GL_ARRAY_BUFFER, (GLsizeiptr)(v.size()*sizeof(float)),
|
||||||
|
v.data(), GL_DYNAMIC_DRAW);
|
||||||
|
|
||||||
|
glUseProgram(rl.prog);
|
||||||
|
glBindVertexArray(rl.vao);
|
||||||
|
|
||||||
|
const int nr = RANGE_CONFIGS[rangeIdx].numMajor;
|
||||||
|
int off = 0;
|
||||||
|
for (int ri = 0; ri < nr; ++ri) {
|
||||||
|
glDrawArrays(GL_LINE_STRIP, off, RING_SEGS+1);
|
||||||
|
off += RING_SEGS+1;
|
||||||
|
}
|
||||||
|
for (int ri = 0; ri < nr; ++ri) {
|
||||||
|
glDrawArrays(GL_LINE_STRIP, off, TRAIL_SEGS+1);
|
||||||
|
off += TRAIL_SEGS+1;
|
||||||
|
}
|
||||||
|
glDrawArrays(GL_LINES, off, 2);
|
||||||
|
glBindVertexArray(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ─── Feature 5: Fake targets ──────────────────────────────────────────────────
|
||||||
|
|
||||||
|
struct FakeTarget {
|
||||||
|
float bearingDeg;
|
||||||
|
float rangeMiles;
|
||||||
|
float coreRadPx; // core blob radius (pixels)
|
||||||
|
float bloomRadPx; // bloom glow radius (pixels); 0 = no bloom
|
||||||
|
mutable float lastActT; // glfwGetTime() when sweep last lit this target
|
||||||
|
};
|
||||||
|
|
||||||
|
static float angDiff(float a, float b) // unsigned angular separation (°)
|
||||||
|
{
|
||||||
|
float d = std::fmod(std::fabs(a - b), 360.0f);
|
||||||
|
return d > 180.0f ? 360.0f - d : d;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Build one textured quad (x,y,u,v = 4 floats/vertex) centred at screen pixel (px,py).
|
||||||
|
static void genBlob(std::vector<float>& v,
|
||||||
|
float px, float py, float radiusPx, float W, float H)
|
||||||
|
{
|
||||||
|
float x0=ndcX(px-radiusPx,W), y0=ndcY(py-radiusPx,H);
|
||||||
|
float x1=ndcX(px+radiusPx,W), y1=ndcY(py+radiusPx,H);
|
||||||
|
v.push_back(x0);v.push_back(y0);v.push_back(-1.f);v.push_back(-1.f);
|
||||||
|
v.push_back(x1);v.push_back(y0);v.push_back( 1.f);v.push_back(-1.f);
|
||||||
|
v.push_back(x1);v.push_back(y1);v.push_back( 1.f);v.push_back( 1.f);
|
||||||
|
v.push_back(x0);v.push_back(y0);v.push_back(-1.f);v.push_back(-1.f);
|
||||||
|
v.push_back(x1);v.push_back(y1);v.push_back( 1.f);v.push_back( 1.f);
|
||||||
|
v.push_back(x0);v.push_back(y1);v.push_back(-1.f);v.push_back( 1.f);
|
||||||
|
}
|
||||||
|
|
||||||
|
struct TargetLayer {
|
||||||
|
GLuint prog = 0, vao = 0, vbo = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
static TargetLayer buildTargetLayer()
|
||||||
|
{
|
||||||
|
TargetLayer tl{};
|
||||||
|
glGenVertexArrays(1, &tl.vao); glGenBuffers(1, &tl.vbo);
|
||||||
|
glBindVertexArray(tl.vao);
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, tl.vbo);
|
||||||
|
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 4*sizeof(float), nullptr);
|
||||||
|
glEnableVertexAttribArray(0);
|
||||||
|
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 4*sizeof(float),
|
||||||
|
reinterpret_cast<void*>(2*sizeof(float)));
|
||||||
|
glEnableVertexAttribArray(1);
|
||||||
|
glBindVertexArray(0);
|
||||||
|
tl.prog = makeProgram("shaders/ppi_targets.vert","shaders/ppi_targets.frag");
|
||||||
|
return tl;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void renderTargets(TargetLayer& tl,
|
||||||
|
FakeTarget* tgts, int nTgts,
|
||||||
|
const Layout& L, float maxRangeMi,
|
||||||
|
float sweepAngle, float curTime, float W, float H)
|
||||||
|
{
|
||||||
|
static const float THRESH = 3.5f; // sweep activation threshold (°)
|
||||||
|
|
||||||
|
glUseProgram(tl.prog);
|
||||||
|
glBindVertexArray(tl.vao);
|
||||||
|
|
||||||
|
const GLint locCol = glGetUniformLocation(tl.prog, "uColor");
|
||||||
|
const GLint locFall = glGetUniformLocation(tl.prog, "uFalloff");
|
||||||
|
|
||||||
|
for (int i = 0; i < nTgts; ++i) {
|
||||||
|
FakeTarget& t = tgts[i];
|
||||||
|
|
||||||
|
if (angDiff(sweepAngle, t.bearingDeg) < THRESH)
|
||||||
|
t.lastActT = curTime;
|
||||||
|
|
||||||
|
float rangeFrac = t.rangeMiles / maxRangeMi;
|
||||||
|
if (rangeFrac > 1.0f) continue;
|
||||||
|
|
||||||
|
float px = polarPx(L, t.bearingDeg, rangeFrac);
|
||||||
|
float py = polarPy(L, t.bearingDeg, rangeFrac);
|
||||||
|
|
||||||
|
float dt = curTime - t.lastActT;
|
||||||
|
float fade = (dt < 0.0f) ? 0.0f : std::max(0.0f, 1.0f - dt/TARG_PERSIST);
|
||||||
|
bool active = angDiff(sweepAngle, t.bearingDeg) < THRESH;
|
||||||
|
float bright = active ? 1.0f : fade;
|
||||||
|
|
||||||
|
if (bright < 0.01f) continue;
|
||||||
|
|
||||||
|
float cr, cg, cb;
|
||||||
|
if (active) { cr=P7A_R; cg=P7A_G; cb=P7A_B; }
|
||||||
|
else { cr=P7P_R; cg=P7P_G; cb=P7P_B; }
|
||||||
|
|
||||||
|
// Core blob
|
||||||
|
{
|
||||||
|
std::vector<float> bv;
|
||||||
|
genBlob(bv, px, py, t.coreRadPx, W, H);
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, tl.vbo);
|
||||||
|
glBufferData(GL_ARRAY_BUFFER, (GLsizeiptr)(bv.size()*sizeof(float)),
|
||||||
|
bv.data(), GL_DYNAMIC_DRAW);
|
||||||
|
glUniform3f(locCol, cr*bright, cg*bright, cb*bright);
|
||||||
|
glUniform1f(locFall, 4.5f);
|
||||||
|
glDrawArrays(GL_TRIANGLES, 0, 6);
|
||||||
|
}
|
||||||
|
// Bloom glow (large targets only)
|
||||||
|
if (t.bloomRadPx > 0.0f && bright > 0.05f) {
|
||||||
|
std::vector<float> bv;
|
||||||
|
genBlob(bv, px, py, t.bloomRadPx, W, H);
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, tl.vbo);
|
||||||
|
glBufferData(GL_ARRAY_BUFFER, (GLsizeiptr)(bv.size()*sizeof(float)),
|
||||||
|
bv.data(), GL_DYNAMIC_DRAW);
|
||||||
|
glUniform3f(locCol, cr*bright*0.35f, cg*bright*0.35f, cb*bright*0.35f);
|
||||||
|
glUniform1f(locFall, 0.8f);
|
||||||
|
glDrawArrays(GL_TRIANGLES, 0, 6);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
glBindVertexArray(0);
|
||||||
|
}
|
||||||
|
|
||||||
// ─── Key callback ────────────────────────────────────────────────────────────
|
// ─── Key callback ────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
static void onKey(GLFWwindow* win, int key, int /*scan*/, int action, int /*mods*/)
|
static void onKey(GLFWwindow* win, int key, int /*scan*/, int action, int /*mods*/)
|
||||||
@@ -419,7 +774,7 @@ int main()
|
|||||||
|
|
||||||
GLFWwindow* win = glfwCreateWindow(
|
GLFWwindow* win = glfwCreateWindow(
|
||||||
mode->width, mode->height,
|
mode->width, mode->height,
|
||||||
"Radar Test — Features 1 & 2",
|
"Radar Test — Features 1–5",
|
||||||
nullptr, nullptr);
|
nullptr, nullptr);
|
||||||
if (!win) { std::cerr << "Window create failed\n"; glfwTerminate(); return 1; }
|
if (!win) { std::cerr << "Window create failed\n"; glfwTerminate(); return 1; }
|
||||||
|
|
||||||
@@ -436,7 +791,6 @@ int main()
|
|||||||
const float W = static_cast<float>(fbW);
|
const float W = static_cast<float>(fbW);
|
||||||
const float H = static_cast<float>(fbH);
|
const float H = static_cast<float>(fbH);
|
||||||
|
|
||||||
// Convert 0.5-inch margin to pixels using monitor physical size
|
|
||||||
int mmW, mmH;
|
int mmW, mmH;
|
||||||
glfwGetMonitorPhysicalSize(mon, &mmW, &mmH);
|
glfwGetMonitorPhysicalSize(mon, &mmW, &mmH);
|
||||||
const float dpiX = static_cast<float>(mode->width) / (static_cast<float>(mmW) / 25.4f);
|
const float dpiX = static_cast<float>(mode->width) / (static_cast<float>(mmW) / 25.4f);
|
||||||
@@ -444,7 +798,7 @@ int main()
|
|||||||
|
|
||||||
const Layout layout = computeLayout(W, H, margin);
|
const Layout layout = computeLayout(W, H, margin);
|
||||||
|
|
||||||
// Build FreeType font atlas (digits only, ~1.8 % of screen height)
|
// Font atlas (digits only, ~1.8 % of screen height)
|
||||||
FontAtlas fa{};
|
FontAtlas fa{};
|
||||||
const std::string fontPath =
|
const std::string fontPath =
|
||||||
"/usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf";
|
"/usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf";
|
||||||
@@ -459,15 +813,65 @@ int main()
|
|||||||
// Feature 2 — PPI bearing graticule
|
// Feature 2 — PPI bearing graticule
|
||||||
BearingGraticule bg = buildBearingGraticule(layout, fa, W, H);
|
BearingGraticule bg = buildBearingGraticule(layout, fa, W, H);
|
||||||
|
|
||||||
|
// Feature 3 — A scope replaceable graticules
|
||||||
|
AScopeGratProg agProg = buildAScopeGratPrograms();
|
||||||
|
AScopeGraticule graticules[RANGE_COUNT];
|
||||||
|
for (int i = 0; i < RANGE_COUNT; ++i)
|
||||||
|
graticules[i] = buildAScopeGraticule(layout, fa, RANGE_CONFIGS[i], W, H);
|
||||||
|
|
||||||
|
// Feature 4 — PPI range rings
|
||||||
|
RingLayer rl = buildRingLayer();
|
||||||
|
|
||||||
|
// Feature 5 — Fake targets (one per quadrant: NE small, SE large, SW/NW very large)
|
||||||
|
const float pR = layout.ppiR;
|
||||||
|
FakeTarget targets[4] = {
|
||||||
|
{ 55.0f, 1.3f, pR*0.010f, 0.0f, -999.0f }, // NE – small (kayak)
|
||||||
|
{ 135.0f, 3.8f, pR*0.022f, pR*0.048f, -999.0f }, // SE – large, blooming
|
||||||
|
{ 215.0f, 2.2f, pR*0.032f, pR*0.075f, -999.0f }, // SW – very large
|
||||||
|
{ 310.0f, 9.0f, pR*0.032f, pR*0.075f, -999.0f }, // NW – very large
|
||||||
|
};
|
||||||
|
TargetLayer tl = buildTargetLayer();
|
||||||
|
|
||||||
|
float sweepAngle = 0.0f; // degrees, 0 = north, clockwise
|
||||||
|
|
||||||
|
// NDC height of the A scope box — used to compute slide distance
|
||||||
|
const float scopeNDCH = (layout.asBot - layout.asTop) * 2.0f / H;
|
||||||
|
|
||||||
|
// Animation state
|
||||||
|
int curRange = 0;
|
||||||
|
int nextRange = 1;
|
||||||
|
bool sliding = false;
|
||||||
|
float holdTimer = 0.0f;
|
||||||
|
float slideTimer = 0.0f;
|
||||||
|
float prevTime = static_cast<float>(glfwGetTime());
|
||||||
|
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||||
|
|
||||||
const auto t0 = std::chrono::steady_clock::now();
|
|
||||||
|
|
||||||
while (!glfwWindowShouldClose(win)) {
|
while (!glfwWindowShouldClose(win)) {
|
||||||
const float elapsed = std::chrono::duration<float>(
|
const float now = static_cast<float>(glfwGetTime());
|
||||||
std::chrono::steady_clock::now() - t0).count();
|
const float dt = now - prevTime;
|
||||||
if (elapsed >= 10.0f) break;
|
prevTime = now;
|
||||||
|
|
||||||
|
// ── Advance sweep (Features 4 & 5) ───────────────────────────────────
|
||||||
|
sweepAngle = std::fmod(sweepAngle + SWEEP_DEG_PS * dt, 360.0f);
|
||||||
|
|
||||||
|
// ── Advance Feature 3 animation ───────────────────────────────────────
|
||||||
|
if (!sliding) {
|
||||||
|
holdTimer += dt;
|
||||||
|
if (holdTimer >= HOLD_SEC) {
|
||||||
|
holdTimer = 0.0f;
|
||||||
|
slideTimer = 0.0f;
|
||||||
|
nextRange = (curRange + 1) % RANGE_COUNT;
|
||||||
|
sliding = true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
slideTimer += dt;
|
||||||
|
if (slideTimer >= SLIDE_SEC) {
|
||||||
|
curRange = nextRange;
|
||||||
|
sliding = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
|
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
|
||||||
glClear(GL_COLOR_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT);
|
||||||
@@ -477,11 +881,9 @@ int main()
|
|||||||
const GLint sbCol = glGetUniformLocation(sb.prog, "uColor");
|
const GLint sbCol = glGetUniformLocation(sb.prog, "uColor");
|
||||||
glBindVertexArray(sb.vao);
|
glBindVertexArray(sb.vao);
|
||||||
|
|
||||||
// PPI scope boundary — dim blue-white ring
|
|
||||||
glUniform3f(sbCol, 0.25f, 0.35f, 0.55f);
|
glUniform3f(sbCol, 0.25f, 0.35f, 0.55f);
|
||||||
glDrawArrays(GL_LINE_STRIP, sb.ppiStart, sb.ppiCount);
|
glDrawArrays(GL_LINE_STRIP, sb.ppiStart, sb.ppiCount);
|
||||||
|
|
||||||
// A scope boundary — P1 green
|
|
||||||
glUniform3f(sbCol, P1_R, P1_G, P1_B);
|
glUniform3f(sbCol, P1_R, P1_G, P1_B);
|
||||||
glDrawArrays(GL_LINES, sb.asStart, sb.asCount);
|
glDrawArrays(GL_LINES, sb.asStart, sb.asCount);
|
||||||
|
|
||||||
@@ -496,7 +898,6 @@ int main()
|
|||||||
glDrawArrays(GL_LINES, bg.tickStart, bg.tickCount);
|
glDrawArrays(GL_LINES, bg.tickStart, bg.tickCount);
|
||||||
glBindVertexArray(0);
|
glBindVertexArray(0);
|
||||||
|
|
||||||
// ── Feature 2: degree labels ──────────────────────────────────────────
|
|
||||||
glUseProgram(bg.textProg);
|
glUseProgram(bg.textProg);
|
||||||
glUniform3f(glGetUniformLocation(bg.textProg, "uColor"),
|
glUniform3f(glGetUniformLocation(bg.textProg, "uColor"),
|
||||||
INCAN_R, INCAN_G, INCAN_B);
|
INCAN_R, INCAN_G, INCAN_B);
|
||||||
@@ -508,6 +909,28 @@ int main()
|
|||||||
glBindVertexArray(0);
|
glBindVertexArray(0);
|
||||||
glBindTexture(GL_TEXTURE_2D, 0);
|
glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
|
|
||||||
|
// ── Feature 3: A scope graticule (with slide animation) ───────────────
|
||||||
|
if (!sliding) {
|
||||||
|
drawAScopeGraticule(agProg, graticules[curRange],
|
||||||
|
0.0f, fa, W, H, layout);
|
||||||
|
} else {
|
||||||
|
float t = std::min(slideTimer / SLIDE_SEC, 1.0f);
|
||||||
|
// Old graticule slides UP (+NDC Y = up) and out through the top slot
|
||||||
|
drawAScopeGraticule(agProg, graticules[curRange],
|
||||||
|
t * scopeNDCH, fa, W, H, layout);
|
||||||
|
// New graticule descends from above into position
|
||||||
|
drawAScopeGraticule(agProg, graticules[nextRange],
|
||||||
|
(1.0f - t) * scopeNDCH, fa, W, H, layout);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ── Feature 4: PPI range rings ────────────────────────────────────────
|
||||||
|
renderRingLayer(rl, layout, curRange, sweepAngle, W, H);
|
||||||
|
|
||||||
|
// ── Feature 5: Active targets + persistence ───────────────────────────
|
||||||
|
renderTargets(tl, targets, 4, layout,
|
||||||
|
RANGE_CONFIGS[curRange].maxMiles,
|
||||||
|
sweepAngle, now, W, H);
|
||||||
|
|
||||||
glfwSwapBuffers(win);
|
glfwSwapBuffers(win);
|
||||||
glfwPollEvents();
|
glfwPollEvents();
|
||||||
}
|
}
|
||||||
@@ -521,6 +944,19 @@ int main()
|
|||||||
glDeleteProgram(bg.lineProg);
|
glDeleteProgram(bg.lineProg);
|
||||||
glDeleteProgram(bg.textProg);
|
glDeleteProgram(bg.textProg);
|
||||||
|
|
||||||
|
for (int i = 0; i < RANGE_COUNT; ++i) {
|
||||||
|
glDeleteVertexArrays(1, &graticules[i].lineVAO);
|
||||||
|
glDeleteBuffers(1, &graticules[i].lineVBO);
|
||||||
|
glDeleteVertexArrays(1, &graticules[i].textVAO);
|
||||||
|
glDeleteBuffers(1, &graticules[i].textVBO);
|
||||||
|
}
|
||||||
|
glDeleteProgram(agProg.line);
|
||||||
|
glDeleteProgram(agProg.text);
|
||||||
|
glDeleteVertexArrays(1, &rl.vao); glDeleteBuffers(1, &rl.vbo);
|
||||||
|
glDeleteProgram(rl.prog);
|
||||||
|
glDeleteVertexArrays(1, &tl.vao); glDeleteBuffers(1, &tl.vbo);
|
||||||
|
glDeleteProgram(tl.prog);
|
||||||
|
|
||||||
glfwDestroyWindow(win);
|
glfwDestroyWindow(win);
|
||||||
glfwTerminate();
|
glfwTerminate();
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user