Настройка с нуля
Привет! Давайте узнаем, как работать с OpenGL ES в Rust.
Я назвал эту главу "Настройка с нуля", потому что предполагаю, что я мало знаю Rust и базовые знания 3D-графики и OpenGL ES.
Таким образом, это руководство может научить вас основам Rust и тому, как заставить Rust работать с OpenGL, однако для более глубокого изучения OpenGL вам понадобится другой учебник или книга.
"С нуля" также означает, что мы будем пытаться создавать абстракции самостоятельно, чтобы лучше узнать Rust. В дополнение к этому, мы сможем следовать существующим руководствам по OpenGL, потому что мы будем точно знать, какие функции OpenGL мы вызываем.
Обратите внимание, что я тоже учусь, делая это. Тем не менее, я уже однажды написал немного беспорядочный рендерер OpenGL ES на Rust, поэтому у меня есть некоторое представление о том, как это должно происходить. Я также не тороплюсь, чтобы убрать беспорядочный код и максимально упростить конечный результат.
Настройка для разработки на Rust
Есть много способов настроить среду разработки для Rust. Вы можете выбрать наиболее удобную для вас настройку на этой веб-странице. Я объясню свою установку, которой вы можете следовать.
Поскольку Rust изначально разрабатывался как кроссплатформенный, чистый код Rust будет компилироваться и запускаться на многих платформах. Мы будем использовать подход, который не заставит Вас погружаться в детали взаимодействия с библиотеками написанными на C.
Я пишу это руководство используя Linux в качестве основной платформы, и если вы используете OSX, то использование этого руководства не потребует практически никаких усилий.
Во-первых, для любой настройки потребуется rustup, установщик набора инструментов Rust, который позаботится об обновлении Rust и многое другое. Если вы установили Rust с помощью диспетчера пакетов вашей ОС или Homebrew, я рекомендую удалить его и переустановить через rustup
.
По завершении rustup должен быть доступен из командной строки:
> rustup --version
rustup 1.24.2 (755e2b07e 2021-05-12)
Установите набор инструментов с помощью rustup (возможно, уже установлен):
Установка в Linux
> rustup install stable-x86_64-unknown-linux-gnu
Установка в OSX
> rustup install stable-x86_64-apple-darwin
Установка в Windows
В Windows Rust доступен с двумя наборами инструментов: GNU (совместим с библиотеками Mingw C) и MSVC (совместим с библиотеками Microsoft C ++ C). Мы будем использовать набор инструментов MSVC.
> rustup install stable-x86_64-pc-windows-msvc
Сделать по умолчанию:
> rustup default stable
rustc
and cargo
оба должны работать (настройте требуемые пути к среде и снова войдите в систему, если они не работают):
> rustc --version
rustc 1.52.1 (9bc8c42bb 2021-05-09)
> cargo --version
cargo 1.52.0 (69767412a 2021-04-21)
Я использую бесплатную Visual Studio Code, потому что как она имеет очень хорошую поддержку Rust за счет использования расширений.
Привет мир
В командной строке создайте новый проект Rust:
> cargo new --bin new-project
Created binary (application) `new-project` project
Вы можете запустить его из командной строки:
> cd new-project
new-project> cargo run
Compiling new-project v0.1.0
Finished dev [unoptimized + debuginfo] target(s) in 1.8 secs
Running `target\debug\new-project`
Hello, world!
Похоже, "Hello world" уже написано, как это скучно?
Запустите VSCode и откройте тот же проект Rust. Он будет содержать каталог src с файлом main.rs. В файле main.rs
вы найдете функцию main
:
fn main() { println!("Hello, world!"); }
Поздравляю! Мы готовы начать Cоздание окна.