Войти
ПрограммированиеФорумОбщее

rg3d - движок на Rust'e (3 стр)

Страницы: 1 2 3 4 513 Следующая »
#30
14:18, 3 ноя. 2019

BingoBongo
> > так а раньше почему падало ?
> Потому что говно ваш С++, вот почему :)

дело было не в бобине


#31
(Правка: 14:59) 14:58, 3 ноя. 2019

> Общий объем кода движка 22к строк.
Нормально, как пет-проект. Код либо нормальный, либо превращается в гад-блесс-говномесс. Примерно с таких метрик.

#32
19:37, 3 ноя. 2019

В написании гуя у меня какая-то вундервафля получается, решил посмотреть как у тебя.
Ты написал свой рендеринг шрифтов? о_О
Почему не взял freetype/rusttype/что-либо ещё?

#33
(Правка: 21:11) 21:10, 3 ноя. 2019

Джек Аллигатор
> Ты написал свой рендеринг шрифтов? о_О
> Почему не взял freetype/rusttype/что-либо ещё?
У меня был свой загрузчик\рендерер\упаковщик шрифтов для сишного движка и я просто его портировал за день ¯\_(ツ)_/¯

Вообще я планирую перейти на freetype потому что у меня довольно слабенькая поддержка шрифтов.

#34
21:41, 3 ноя. 2019

не могу не потроллеть
>Почему раст?
>Надежность, скорость и безопасная многопоточность. C++ обеспечивает разве что скорость, ни о какой надежности и безопасной многопоточности там и речи нет.
>...раст же следит за тем что в программе нет гонок за данные (в то же время взаимную блокировку потоков можно получить на раз-два)...
как в голове могут быть взаимоисключающие вещи? - два полушария, ага

#35
21:43, 3 ноя. 2019

clc
Изображение

#36
10:43, 5 ноя. 2019

я движками не занимаюсь, но объясните мне как это читать, если надо найти что-то?

https://github.com/mrDIMAS/rg3d/blob/master/src/renderer/gl.rs

у меня рука забилась пока я скролил это и пытался вникнуть что там происходит.

#37
10:48, 5 ноя. 2019

Pigloo, вот так: http://docs.gl/
Эти исходники не для чтения.

#38
10:54, 5 ноя. 2019

Pigloo
Это сгенерированные биндинги для опенгл.

#39
(Правка: 22:07) 22:03, 6 ноя. 2019

mr.DIMAS
> Утечка не UB, поэтому раст допускает возможность ее создания (через кривые
> руки)

Часто ли у тебя возникала ситуация, когда данные не укладывались в парадигму владения/заимствования и приходилось использовать RC и подобное?

Да, и возникали ли ситуации, когда сначала было сделано на владении/заимстовании, а потом требовался глубокий рефакторинг на RC?

#40
22:54, 6 ноя. 2019

Dmitry_Milk
Было один раз всего и то на начальном этапе - ресурсы (модельки, текстуры, буферы звуков, и т.д.) изначально все лежали в пулах и я просто хранил хэндл ресурса там где требовалось, а потом если надо что-то из него прочитать я передавал в метод пул и хэндл нужного ресурса. Это оказалось жутко неудобно по одной простой причине - ресурс может быть разделяемым между многими объектами и должен быть удален если им никто не пользуется. Тут и пригодился Arc<Mutex<SomeResource>>, Arc - обычный shared_ptr из плюсов, а сам ресурс защищен мьютексом. Это единственное место в движке где активно используется Arc. В остальных места все объекты живут в пулах и "ссылки" на них это просто хэндлы.

#41
0:06, 7 ноя. 2019

mr.DIMAS
> объекты живут в пулах

borrow_N_mut не получилось без unsafe. Почему? mut доступ к одному элементу вектора блокирует весь вектор?

#42
0:17, 7 ноя. 2019

mr.DIMAS
> ресурс может быть разделяемым между многими объектами и должен быть удален если
> им никто не пользуется. Тут и пригодился Arc<Mutex<SomeResource>>, Arc -
> обычный shared_ptr из плюсов
В целом концепция "удалить сразу же как только никто не использует" - говно. Легко попасть в ситуацию: удалили / тут же загрузили обратно / удалили / тут же загрузили обратно. В идеале нужно прикручивать более "умный" менеджмент, который не будет сразу удалять объект при потере на него ссылок.

#43
0:46, 7 ноя. 2019

Dmitry_Milk
> Часто ли у тебя возникала ситуация, когда данные не укладывались в парадигму
> владения/заимствования и приходилось использовать RC и подобное?

часто, если логика меняется по несколько раз в день :) шутка

#44
0:48, 7 ноя. 2019

MrShoor
> В целом концепция "удалить сразу же как только никто не использует" - говно.
> Легко попасть в ситуацию: удалили / тут же загрузили обратно / удалили / тут же
> загрузили обратно.

ооооо, сразу виден большой практический опыт - путаница между объектами и содержимом

Страницы: 1 2 3 4 513 Следующая »
ПрограммированиеФорумОбщее