Похоже, вы указываете тип данных пикселей как GL_UNSIGNED_SHORT, попробуйте изменить его на GL_HALF_FLOAT (если используется DisparityFloat16) или GL_FLOAT (если используется DisparityFloat32).
Кроме того, если вы хотите отобразить буфер глубины в качестве текстуры, вам следует преобразовать данные глубины в значения, которые что-то значат в изображении в градациях серого. Если вы нормализуете значения буфера глубины, чтобы они были целыми числами от 0 до 255, ваша картинка будет выглядеть намного лучше.
Для получения дополнительной информации, Apple имеет примеры именно этой вещи . Они используют Металл, но директор будет работать и с OpenGL. Вот действительно хороший учебник с примером кода, который также делает это.
Вы можете использовать XmlSerializer для десериализации текста XML в экземпляры классов, сгенерированных xsd.exe .
XmlSerializer будет использовать атрибуты метаданных , размещенные в сгенерированных классах для отображения между элементами XML и объектами.
string xmlSource = "<ResultSet><Result precision=\"address\"><Latitude>47.643727</Latitude></Result></ResultSet>";
XmlSerializer serializer = new XmlSerializer(typeof(ResultSet));
ResultSet output;
using (StringReader reader = new StringReader(xmlSource))
{
output = (ResultSet)serializer.Deserialize(reader);
}
Генератор кода XSD в Liquid XML Studio отлично справляется с задачей создания кода C # или vb.net, совместимого с высокой степенью совместимости, из схемы XML. Затем этот код можно использовать для вызова или реализации веб-службы.
Если вы реализуете веб-службу, вы можете взять под контроль WSDL, созданный с использованием XmlSchemaProvider и IXmlSerializable, см. Получение контроля над WSDL
Вы можете просто создать типизированный набор данных из XSD и затем заполнить один из этих объектов XML. Это довольно распространенный метод.