SharpGL. Отрисовать текстуру в квадрат

98
08 февраля 2022, 01:10

Возникла проблема с отрисовкой PNG/JPG изображения с применением библиотеки SharpGL. Каким образом это можно устроить?

Answer 1

Решение оказалось примитивным.

  1. Надо добавить в решение пакет SharpGL.SceneGraph (он содержит в себе удобную реализацию Texture)
  2. Объявить, собственно, экземпляр Texture и загрузить в него изображение
texture.Create(gl, bitmap);
  1. Обозначит OpenGL, что будем использовать текстуру при помощи кода
gl.Enable(OpenGL.GL_TEXTURE_2D);
  1. Присоединить текстуру к OpenGL (еще до Begin())
 texture.Bind(openGL);
  1. Отрисовать текстуру по координатам
var startX = this.X - width / 2;
var startY = this.Y - width / 2;
gl.TexCoord(0, 1); gl.Vertex(new[] { startX, startY });
gl.TexCoord(1, 1); gl.Vertex(new[] { startX + width, startY });
gl.TexCoord(1, 0); gl.Vertex(new[] { startX + width, startY + height });
gl.TexCoord(0, 0); gl.Vertex(new[] { startX, startY + height });
  1. *Если нужно перейти после рисования текстуры к какому-то другому типу рисования, то
gl.Disable(OpenGL.GL_TEXTURE_2D);
READ ALSO
Не обновляются размеры у Renderer

Не обновляются размеры у Renderer

Я написал скрипт в котором после изменения localScale у объекта хочу получить значения bounds, но renderer не меняет значения bounds, как решить эту проблему?

73
Обновить информацию в базе данных c#

Обновить информацию в базе данных c#

Есть база данных gallery, в которой 7 связанных таблицНеобходимо после изменения данных в dataGrivView1 после нажатия на кнопку значения менялись в базе...

105
ScreenToWorldPoint возвращает координаты камеры при параметре Input.mousePosition

ScreenToWorldPoint возвращает координаты камеры при параметре Input.mousePosition

Изучаю Unity и не могу разобраться с ScreenToWorldPoint:

78
Отключение IDisposable

Отключение IDisposable

Допустим, есть интерфейс IConnectionОн в своей иерархии имеет IDisposable

109