Directorio de artículos de la serie
Directorio de artículos
1. Crea una ventana
Enlace original: https://learnopengl-cn.github.io/01%20Getting%20started/02%20Creating%20a%20window/
- Antes de la representación de la imagen, es necesario crear el contexto OpenGL y la ventana para la visualización. El contexto se usa para guardar el estado de OpenGL y la ventana se puede considerar como un lienzo.
- OpenGL abstrae las operaciones de creación de ventanas y contextos. Esto nos obliga a manejar ventanas, definir contextos y manejar la entrada del usuario nosotros mismos.
- Hay algunas bibliotecas que proporcionan la funcionalidad que necesitamos para proporcionar una ventana y un contexto. Por ejemplo SDL2, GLFW
2. GLFW
glfw es una biblioteca en lenguaje C dedicada a OpenGL.
En el texto original, presenta en detalle cómo construir el entorno glfw en cada plataforma. Aquí, quiero presentar una forma más conveniente: use conan y cmake para construir un entorno glfw.
2.1 Conan y CMake
CMake es famoso. No hace falta decir que hay muchos tutoriales y debates relacionados en Internet. Escribí un tutorial conciso de CMake. Si está interesado, puede leerlo: Tutorial moderno conciso de CMake (1) - Conceptos básicos de CMake
Conan es una herramienta de administración de paquetes de C/C++, que puede acelerar el desarrollo y la integración continua de proyectos de C/C++, y es un artefacto con cmake. Para obtener tutoriales relacionados con Conan, consulte la documentación oficial: Conan docs .
Para utilizar CMake y Conna, primero debe instalarlos: consulte
2.2 compilar
A través de los siguientes pasos, puede usar el entorno glwf, por lo que puede encontrar el código en el almacén de LearnOpenGL . Si hay pasos que no están claros, mire el código fuente directamente.
- Cree un nuevo
conanfile.txt
archivo con el siguiente contenido.conanfile.txt
Se indica que dependemos de glfw/3.3.8 y usamos cmake como constructor.
[requires]
glfw/3.3.8
[generators]
cmake
- En CMakeLists.txt, introduzca las dependencias relacionadas con conan, el contenido es más o menos el siguiente.
cmake_minimum_required(VERSION 3.21)
project(my_learn_opengl)
// ...
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()
add_executable(main main.cpp)
target_link_libraries(main PRIVATE ${CONAN_LIBS})
en
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()
Presente la biblioteca dependiente de conan, y conan coloca todas las variables de la biblioteca dependiente ${CONAN_LIBS}
en . Solo usamos target_link_libraries
para enlazar ${CONAN_LIBS}
.
- Compilar, el comando es el siguiente
mkdir build
conan install . -if build --build=missing
cmake -S . -B build
cmake --build build
Entre ellos:
4. conan install . -if build --build=missing
Esta línea de comando irá al directorio para leer el contenido conanfile.txt
en , el campoconanfile.txt
en el medio indica la necesidad de bibliotecas dependientes de glfw/3.3.8 , y conan descargará las bibliotecas o códigos de las plataformas relevantes; significa que si no hay una biblioteca binaria adecuada, descargue el código fuente y compílelo. Puede buscar información de la biblioteca en el centro de conan . 5. Luego mire CMakeLists.txt, importe el archivo conanbuildinfo.cmake en CMakeLists.txt y llámelo Después de esta operación, contendrá información sobre todas las bibliotecas dependientes. Para obtener información detallada sobre el uso, consulte conan: cómo empezarrequires
--build=missing
conan_basic_setup()
${CONAN_LIBS}
3. ALEGRE
- Hay muchas versiones de OpenGL, la mayoría de las funciones no se pueden determinar en tiempo de compilación y deben consultarse en tiempo de ejecución.
- GLAD nos ayuda a simplificar este proceso. Puede elegir el GLAD que necesita en el servicio en línea y descargar su código fuente
- Cómo configurar GLAD en nuestro almacén de códigos, consulte LearnOpenGL , lo puse
3rdparty
en