Войти
Urho3DФорумURHOSHARP

Texture наследуется от Resource а должна от GPUObject

Страницы: 1 2 Следующая »
#0
12:38, 26 дек. 2016

Texture наследуется от Resource а должна от GPUObject. Из-за этого не доступны такие операции как

unsigned   GetGPUObjectName () const
   Return the object name. Applicable only on OpenGL. 
#1
12:43, 26 дек. 2016

В C# нет множественного наследования, хз как Nagg это решит, интерфейс чтоли делать надо

class URHO3D_API Texture : public Resource, public GPUObject
#2
12:45, 26 дек. 2016

1vanK
Может этот метод можно пробросить в класс Texture? Я сейчас в байндингах копаюсь, ищу где это всё конфигурируется для Sharpie

#3
12:52, 26 дек. 2016

Ну на уровне c++ он наверно есть в классе, теряется на уровне биндингов, так что можно в классе Texture Создать метод с новым именем

unsigned MYGetGPUObjectName() const { return object_.name_; }
скомпилировать, а затем пробросить его в C#

Возможно я корявый совет даю, я плохо в этом шарю.

#4
13:02, 26 дек. 2016

хотя зачем новый метод создавать... если оно на уровне c++ есть

> Sharpie

если самих биндингов нету, которые можно подправить, а есть только генератор биндингов, то там не все так просто, там макинтош нужен для создания биндингов

#5
13:02, 26 дек. 2016

1vanK
Пока не пробовал но у меня макбук есть если что.

#6
13:12, 26 дек. 2016

Похоже дёшево не отделаться - в существующих dll не упоминается GPUObjectName. Надо в генератор байндингов втыкать.

#7
13:39, 26 дек. 2016

1vanK
Посмотрел в код. Не корявый, совет выглядит вполне в тему. Если метод был бы на уровне класса Texture то он виден был бы в нём через AST и шарпи бы его подцепил. Но не хочеться менять код Urho3D из-за UrhoSharp.

В шарпи я нашёл следующее:

          if (baseName == "GPUObject" || baseName == "Thread" || baseName == "Octant" ||
            baseName == "b2Draw" || baseName == "b2ContactListener" || baseName == "btIDebugDraw" || baseName == "btMotionState")
            continue;

          if (currentType.BaseTypes.Count > 0)
            baseName = "I" + baseName;

То есть GPUObject похоже создательно игнорируется. Если б он не игнорировался то дальше его бы интерпретировали как интерфейс (см. свой первый коммент про множественное наследование). Но почему-то то этого не сделали. Наверно от этого что-то в другом месте отвалиться. Попробую жахнуть :)

#8
21:49, 26 дек. 2016

может иссюху у них открыть...?

#9
21:58, 26 дек. 2016

Zamir
Пока не до конца понятно какую открывать - то что методов нет, то что конкретного метода нет или того что нет поддержки external текстур.

Но без правильного id тоже не получается. Пойду опишу проблему.

#10
22:03, 26 дек. 2016

https://github.com/xamarin/urho/issues/176

Но сейчас все бухают наверно по поводу рождества и до января никого не будет :(

#11
22:13, 26 дек. 2016

GLoom или болеют, у нас, н-р, пол коллектива приболели, в т.ч и я

#12
22:17, 26 дек. 2016

Zamir
Выздоравливай!

#13
22:24, 26 дек. 2016

GLoom Спасибо. Будьте здоровы друзья!

#14
20:03, 4 янв. 2017

Ох ты ж.. множественное наследование..

Страницы: 1 2 Следующая »
Urho3DФорумURHOSHARP

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