Thắc Mắc - OpenGL Và Các Thư Viện Của Nó - VOZ
Có thể bạn quan tâm
- Forums New posts
- Latests Featured content New posts New profile posts Latest activity
- New posts
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
- Forums
- Học tập & Sự nghiệp
- Lập trình / CNTT
- Thread starter Thread starter Khambui
- Start date Start date Apr 25, 2022
Khambui
Senior Member
em là sinh viên năm nhất, trước giờ em chủ yếu code những bài dựa trên những thư viện đơn giản như iostream, bits/stdc++.h,.. nhưng sang đến phần này thì cài thư viện nó khó quá các thím. Trước giờ em code trên vscode. Em thấy người ta nói đây chỉ là editor nên ít có video hướng dẫn. Em lên ytb tìm những video hướng dẫn cài thư viện thì toàn thấy dùng visual studio. Với em, đây là 1 ide quá lớn khiến em bị ngợp. Các thím có thể thương tình dẫn lối cho em cách cài đầy đủ thư viện của cái này được không ạ? Em bị kẹt ở cái này cả 1 tuần rồi !! Em xin cảm ơn các thím !Khambui
Senior Member
em đá lên với thiết tha có người trợ giúpKurisu Makise
Senior Member
Cài gcc để có compiler, trong thư mục gcc sẽ có include và lib. Sau này thêm thư viện nào thì bỏ các file h, hpp vào include, các file dll, a, so vào lib Xem trên web của thư viện đó đọc hướng dẫn tích hợp vào vscode hay không Sẽ có template các file c_cpp_properties.json, launch.json, settings.json, tasks.json (Win) và makefile (Ubuntu) Thường thì mình dùng được ngay mấy file template này hoặc cùng lắm thì thêm đường dẫn các file src, include mà bạn tự tạo ra trong projectthanbaiks
Senior Member
Khambui said: em đá lên với thiết tha có người trợ giúp Click to expand...
Khambui
Senior Member
thanbaiks said: Click to expand...em hỏi câu này có hơi ngu mong thím bỏ qua. Cái thư viện GLFW nó bao hàm cả gl, glu, glut ạ? Tại em thấy mấy cái example code trên mạng nó hay khai báo mấy các thư viện này mà video thím gửi nó chỉ cài mỗi GLFW
thanbaiks
Senior Member
Khambui said: em hỏi câu này có hơi ngu mong thím bỏ qua. Cái thư viện GLFW nó bao hàm cả gl, glu, glut ạ? Tại em thấy mấy cái example code trên mạng nó hay khai báo mấy các thư viện này mà video thím gửi nó chỉ cài mỗi GLFW Click to expand...Làm theo như clip chạy đc ra window và có GL context là ngon rồi bro. Mấy thằng kể trên chỉ để bổ trợ thôi
Kân team v2
Member
Khambui said: em là sinh viên năm nhất, trước giờ em chủ yếu code những bài dựa trên những thư viện đơn giản như iostream, bits/stdc++.h,.. nhưng sang đến phần này thì cài thư viện nó khó quá các thím. Trước giờ em code trên vscode. Em thấy người ta nói đây chỉ là editor nên ít có video hướng dẫn. Em lên ytb tìm những video hướng dẫn cài thư viện thì toàn thấy dùng visual studio. Với em, đây là 1 ide quá lớn khiến em bị ngợp. Các thím có thể thương tình dẫn lối cho em cách cài đầy đủ thư viện của cái này được không ạ? Em bị kẹt ở cái này cả 1 tuần rồi !! Em xin cảm ơn các thím ! Click to expand...có gì mà ngợp open project lên rồi bấm compile có khác mọe gì các ide khác đâu xài cmake + vcpkg + vs thì thư viện nào cũng xài được nhóe --- Bước 1. Install Git + CMake, nhớ add cả 2 vào PATH Bước 2. Tạo project bằng tay có mấy file sau: - src/main.cpp lấy từ file này: https://raw.githubusercontent.com/glfw/glfw/master/examples/triangle-opengl.c, sửa lại 2 dòng: C++: // #include <glad/gl.h> #include <glad/glad.h> // gladLoadGL(glfwGetProcAddress); gladLoadGLLoader((GLADloadproc)glfwGetProcAddress); - src/linmath.h lấy từ file này: https://raw.githubusercontent.com/glfw/glfw/master/deps/linmath.h - CMakeLists.txt (tên project ở đây toy ví dụ là "glfw-init") Code: cmake_minimum_required(VERSION 3.20 FATAL_ERROR) project(glfw-init CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) find_package(glfw3 CONFIG REQUIRED) find_package(glad CONFIG REQUIRED) add_executable(${PROJECT_NAME} WIN32 src/main.cpp src/linmath.h) target_link_libraries(${PROJECT_NAME} PRIVATE glfw glad::glad) if (WIN32) target_link_options(${PROJECT_NAME} PRIVATE "/ENTRY:mainCRTStartup") endif() set_property(DIRECTORY PROPERTY VS_STARTUP_PROJECT ${PROJECT_NAME}) - CMakePresets.json JSON: { "version": 3, "configurePresets": [ { "name": "base", "binaryDir": "${sourceDir}/build/${presetName}", "installDir": "${sourceDir}/install/${presetName}" }, { "name": "vcpkg-submodule", "inherits": "base", "toolchainFile": "${sourceDir}/vcpkg/scripts/buildsystems/vcpkg.cmake" }, { "name": "vs2022", "displayName": "Visual Studio 2022 64-bit using vcpkg as submodule", "inherits": "vcpkg-submodule", "generator": "Visual Studio 17 2022", "architecture": "x64", "environment": { "VCPKG_DEFAULT_TRIPLET": "x64-windows" }, "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Windows" } } ], "buildPresets": [ { "name": "default-build-windows", "displayName": "Default", "configurePreset": "vs2022", "description": "Vanilla build" } ] } - vcpkg.json JSON: { "name": "glfw-init", "version": "0.0.1", "dependencies": [ "glfw3", { "name": "glad", "features": [ "gl-api-46" ] } ] } Bước 3. Mở terminal lên rồi cd tới thư mục project vừa tạo, ví dụ của toy là D:/projects/glfw-init, rồi gõ: Code: git init git submodule add https://github.com/Microsoft/vcpkg vcpkg cmake --preset=vs2022 cmake --build --preset=default-build-windows "cmake --preset=vs2022" là nó tự động configure, download glfw, glad về build cho mình, mình đéo cần biết gì hết "cmake --build --preset=default-build-windows" là nó build cho mình, khỏi cần mở VS lên cũng được nó build file Debug, muốn build file Release thì gõ "cmake --build --preset=default-build-windows --config Release" còn muốn mở VS ide thì cứ mở file .sln ở "build/vs2022/gflw-init.sln" lên là được
Khambui
Senior Member
Kân team v2 said: có gì mà ngợp open project lên rồi bấm compile có khác mọe gì các ide khác đâu xài cmake + vcpkg + vs thì thư viện nào cũng xài được nhóe --- Bước 1. Install Git + CMake, nhớ add cả 2 vào PATH Bước 2. Tạo project bằng tay có mấy file sau: - src/main.cpp lấy từ file này: https://raw.githubusercontent.com/glfw/glfw/master/examples/triangle-opengl.c, sửa lại 2 dòng: C++: // #include <glad/gl.h> #include <glad/glad.h> // gladLoadGL(glfwGetProcAddress); gladLoadGLLoader((GLADloadproc)glfwGetProcAddress); - src/linmath.h lấy từ file này: https://raw.githubusercontent.com/glfw/glfw/master/deps/linmath.h - CMakeLists.txt (tên project ở đây toy ví dụ là "glfw-init") Code: cmake_minimum_required(VERSION 3.20 FATAL_ERROR) project(glfw-init CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) find_package(glfw3 CONFIG REQUIRED) find_package(glad CONFIG REQUIRED) add_executable(${PROJECT_NAME} WIN32 src/main.cpp src/linmath.h) target_link_libraries(${PROJECT_NAME} PRIVATE glfw glad::glad) if (WIN32) target_link_options(${PROJECT_NAME} PRIVATE "/ENTRY:mainCRTStartup") endif() set_property(DIRECTORY PROPERTY VS_STARTUP_PROJECT ${PROJECT_NAME}) - CMakePresets.json JSON: { "version": 3, "configurePresets": [ { "name": "base", "binaryDir": "${sourceDir}/build/${presetName}", "installDir": "${sourceDir}/install/${presetName}" }, { "name": "vcpkg-submodule", "inherits": "base", "toolchainFile": "${sourceDir}/vcpkg/scripts/buildsystems/vcpkg.cmake" }, { "name": "vs2022", "displayName": "Visual Studio 2022 64-bit using vcpkg as submodule", "inherits": "vcpkg-submodule", "generator": "Visual Studio 17 2022", "architecture": "x64", "environment": { "VCPKG_DEFAULT_TRIPLET": "x64-windows" }, "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Windows" } } ], "buildPresets": [ { "name": "default-build-windows", "displayName": "Default", "configurePreset": "vs2022", "description": "Vanilla build" } ] } - vcpkg.json JSON: { "name": "glfw-init", "version": "0.0.1", "dependencies": [ "glfw3", { "name": "glad", "features": [ "gl-api-46" ] } ] } Bước 3. Mở terminal lên rồi cd tới thư mục project vừa tạo, ví dụ của toy là D:/projects/glfw-init, rồi gõ: Code: git init git submodule add https://github.com/Microsoft/vcpkg vcpkg cmake --preset=vs2022 cmake --build --preset=default-build-windows "cmake --preset=vs2022" là nó tự động configure, download glfw, glad về build cho mình, mình đéo cần biết gì hết "cmake --build --preset=default-build-windows" là nó build cho mình, khỏi cần mở VS lên cũng được nó build file Debug, muốn build file Release thì gõ "cmake --build --preset=default-build-windows --config Release" còn muốn mở VS ide thì cứ mở file .sln ở "build/vs2022/gflw-init.sln" lên là được Click to expand...Trước giờ em quen xài vscode quen giờ sang cái này thứ nhất là nó chậm, thứ 2 là nó nhiều mục quá đâm ra là em không biết bắt đầu từ đâu. Cảm ơn sự hướng dẫn của thím, em đang làm theo, nếu mắc ở đâu thì em ib thím nhá
Kân team v2
Member
giải thích cấu trúc project: 1. Các file mã nguồn (source files) .h, .cpp bỏ trong thư mục "src" hết (nếu viết thư viện cho project khác thì mới có thể cần tạo thư mục "include" riêng và bỏ các file .h cần expose ra ngoài vào đó) 2. Ở ngoài thư mục chính có 3 file: CMakeLists.txt, CMakePresets.json, vcpkg.json- CMakeLists.txt là file chỉ cho CMake nó tạo build script, là mấy dòng command line hoặc file chứa các lệnh cần thiết để compiler build file text thành file thực thi
- CMakePresets.json là để dọn sẵn configure profiles cho project này. CMake có thể generate build script cho nhiều compiler khác nhau, khác từ gcc, clang, msvc, v.v... tới msvc mà khác năm như vs2015 vs2017 vs2019 vs2022 v.v... mỗi compiler lại có thể có arch 32-bit/64-bit, và xài generator khác nhau nữa Thì CMakePresets để ghi sẵn ra là project của toy support những preset cho các generator/compiler/arch/config combo này, anh generate theo preset này bảo đảm ok, còn anh xài generator khác thì cũng được đó nhưng toy chưa test chẳng hạn. Ví dụ toy "chôm" từ nguồn này https://github.com/esweet431/box2d-lite/blob/vs-launch/CMakePresets.json họ tạo các preset cho windows/linux 32/64 bit.
- vcpkg.json nếu ai xài python thì có thể xem nó giống như file requirements.txt hay bên node là package.json, hay Rust/Go gì cũng có, là file chứa thông tin của các thư viện ngoài mà project này cần xài, các thư viện đó gọi là dependencies của project này. Vcpkg khi thấy root folder có file vcpkg.json này nó sẽ đọc và tự động install các thư viện đó. vcpkg sẽ tạo cho mỗi project 1 folder "vcpkg_installed" chứa các thư viện dependencies riêng, rất tốt vì ko đụng hàng các project khác, project này có thể xài version 11 của thư viện X, project kia có thể xài version 10 của X. Nhược là thư mục vcpkg_installed này thường ngốn tầm vài chục tới vài trăm MB tùy cần ít hay nhiều thư viện, thư viện nhỏ hay lớn.
Similar threads
thắc mắc Các thím tư vấn giúp thư viện QR code- yelbit
- Nov 11, 2024
- Lập trình / CNTT
- manoao
- Dec 5, 2024
- Điểm báo
- Angelika1102
- Dec 13, 2024
- Điểm báo
- tin233
- Dec 6, 2024
- Điểm báo
- matnham
- Oct 31, 2024
- Lập trình / CNTT
Thread statistics
Created Khambui, Apr 25, 2022 Last reply from Kân team v2, Apr 26, 2022 Replies 8 Views 1,694Share this page
Facebook X (Twitter) LinkedIn Reddit Pinterest WhatsApp Share Link- Forums
- Học tập & Sự nghiệp
- Lập trình / CNTT
Từ khóa » Thư Viện Glfw
-
GLFW: An OpenGL Library
-
Khởi Tạo Môi Trường Lập Trình Đồ Họa OpenGL Trên Windows Với ...
-
GLFW Các Phần Mềm Thay Thế Và Phần Mềm Tương Tự
-
Làm Việc Với Gói Thư Viện Hỗ Trợ Trong OpenGL
-
OpenGL Là Gì? - Lazytrick - Limited Size Memory Of Mind
-
Chuẩn Bị Môi Trường Lập Trình OpenGL Mục Lục Giới Thiệu
-
Học OpenGL Hiện đại - HelpEx
-
Hướng Dẫn Sử Dụng Thư Viện OpenGL Với Visual Studio
-
Hướng Dẫn Làm Game Với OpenGL - Phần 1 : Giới Thiệu OpenGL
-
Hướng Dẫn Cài đặt Thư Viên OpenGl Trên Visual Studio - YouTube
-
Cách Xây Dựng Và Cài đặt GLFW 3 Và Sử Dụng Nó Trong Dự án Linux
-
Nhờ Anh Chị Xem Giúp Code OpenGL - Programming - Dạy Nhau Học
-
Lập Trình Game Với Opengl?