Войти
GodotФорумОбщее

Godot 4 gdextension (c++)

#0
11:57, 10 дек 2022

В общем, gdextension (C++) как-то устаканилось, и перестало падать. Начал потихоньку переползать на 4,
действительно, gdextension мне нравится больше, чем gdnative.

Падало кстати потому, что официальные бета-релизы самого движка выходят под нумерацией (типа beta 4.xx),
а комиты в репозиторий gdextension (godot-cpp), идут постоянно, по ходу работы, и запросто могут быть несовместимы с
релизнутыми бетами. Чтобы избежать такого, надо смотреть сообщения комитов, и брать те, которые соответсвуют
официальной нумерации.

c20ecea (HEAD -> master, origin/master, origin/HEAD) headers: Sync with upstream commit 45cac42c0 (4.0-beta8)
f74c472 Merge pull request #948 from touilleMan/issue-946
9fb5b76 Add CODEOWNERS so GDExtension team gets assigned for reviews
fe79449 Fix cast on PtrToArg::convert
f9f9a1b Merge pull request #947 from asmaloney/cmake-cleanup
bb13b95 {cmake} Updates for target-based approach
32859ea Merge pull request #897 from touilleMan/gdextension-fix-gdnative-types-const-qualifier
fe86a94 Fix const qualifier for parameters in GDExtension api functions
f1d501f headers: Sync with upstream commit 0ff874291 (4.0-beta7)

Ну или сам движок билдить конечно можно. Но мне пока лень ))

#1
18:09, 11 дек 2022

Словом, погорячился я. Копнув внутренности поглубже, пришел к выводу, что очень сырое.
Да (пустой) редактор уже не падает. Но он падает при работе в каких-то рандомных и определенных местах.
Некоторые нужные классы просто не работают, типа PathFollow3D.
Ну и убило, что не могу в gdextension (C++) передать Node как параметр. Ну т.е. можно через Object::cast(), или
я не разобрался как. Но в 3.5 это работает нормально.

В общем отложил я пока новаторство. Подожду пока хотя-бы RC появятся.

#2
17:46, 25 янв 2023

В общем парни разогнались, и клепают беты чуть ли не каждые 3 дня.
Попробовал 4.0-beta15 - все вышеперечисленные косяки исчезли, у меня всё билдится ок, полёт нормальный.

#3
17:55, 25 янв 2023

Да по любому лучше подождать... Движки как вино - должны быть выдержаны, годами )))

#4
18:52, 25 янв 2023

stratego
Про продакшн конечно речи не идет, но у меня есть проектик тестовый, чисто для баловства.
Пока пробежался по нужным мне фичям - они вроде работают.

p.s. Но сломался инпут в контролах )))

#5
0:20, 9 фев 2023

Выпустили RC1. Попробовал.
Пока на удивление, все мои персональные претензии удовлетворены.
Баги конечно есть, но для моих нужд они некритичные. Продолжаем полёты...

#6
8:08, 9 фев 2023

Der FlugSimulator
> Выпустили RC1. Попробовал.
>
Может в декабре уже выпустят релиз и можно будет полностью перейти на годот 4 великий и ужасный

#7
12:58, 9 фев 2023

FlyOfFly
Весь парадокс в том, что для массы ЦА, как она видна по форумам - 2Д, платформеры, GDScript, никакого принципиального смысла на 4.х ломиться нет.
Всё осуществимо и на 3.x, ну может очень мелкие фичи. Однако именно от школьников идёт вся основная шумиха.

Более того, они видимо не осознают, что четверка пока в основном про вулкан, и дохлые железки (GLES2 мобилы, Raspberri PI, и может даже старенькие ПК)
работать не будут (во всяком случае в первом релизе).

А вот для 3D, для C++ - там очень много правильных инноваций.

#8
13:05, 9 фев 2023

Der FlugSimulator
>
> Весь парадокс в том, что для массы ЦА, как она видна по форумам - 2Д,
> платформеры, GDScript, никакого принципиального смысла на 4.х ломиться нет.
Язык разве не улучшили? свойство не добавили в язык?

#9
13:16, 9 фев 2023

FlyOfFly
Вопрос не понял. Даже два.

#10
13:18, 9 фев 2023

Der FlugSimulator
Помню в godot 3.5 были какие-то проблемы с свойствами, которые в языке исправили в 3.6 которую через гитхаб можно получить...уже не помню, блин.

#11
13:28, 9 фев 2023

Ладно пофиг, будет свободное время и буду опять пользоваться godot и вспомню чего мне хватало ну это было описано в мануале

#12
14:12, 9 фев 2023

FlyOfFly
Я же сказал выше "принципиального". Ну да, чуть-чуть поменяли синтаксис, добавили функторы, еще чего-то, но строго по мелочам.
Может даже оптимизировали, снова, по мелочам. Никаких новых ранее невозможных архитектурных решений нет.

Для сравнения в С++ они привели includes/API к виду совместимому с модулями/ядром.
А из этого вытекает, что любой контрибутрский gdextension можно легко и почти непринужденно
сделать частью ядра движка, что было невозможно в 3.x gdnative.

И теперь к примеру уже таки можно на gdextension с++ написать свой класс/ноду, который конечный пользователь может
наследовать и кастомизировать из GDScript. Что опять таки нельзя в 3.x.

#13
12:55, 22 фев 2023

В общем дело дошло до RC3, и по мне всё уже очень стабильно.
В общем на текущем проектике переполз на 4.0 полностью. Полёт нормальный.

Тут конечно нужно уточнить. Я не работаю с 2D, мало работаю с редактором, и как видно по заголовку почти не пишу на GDScript.
Т.е. запросто мог что-то пропустить. Так-же, есть очевидные недоделки рендера в режиме OpenGL.
Так что для владельцев прев-ген железа, особенно под виндой, где вулкана не предвидится - это пока не вариант.
Хотя в OpenGL не работают только некоторые новые навороты: декали, всякие освещения. Спрайты должны работать.

А в остальном всё прекрасно.

GodotФорумОбщее

Тема в архиве.