Извините за мой плохой английский, я не носитель языка
Я давно начал программировать на Java и следую серия 3D-разработчиков Java-игр на YT от ThinMatrix. Сейчас я программирую на C++ и хочу создать свой собственный небольшой 3D-движок на основе этого предыдущего руководства. Я нахожусь на этапе, когда мне нужно загрузить матрицу преобразования в VertexShader, чтобы вращать, масштабировать и увеличивать положение моего отряда. Поэтому я запрограммировал свою собственную структуру Mat4f. Я уже могу вращать и масштабировать свой отряд, метод перевода() не работает! Четырехугольник не движется, но масштабируется по оси.
Вот реализация моей структуры Mat4f:
Код: Выделить всё
Mat4f::Mat4f()
{
setIdentity();
}
Mat4f::Mat4f(const float data[4][4])
{
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
m_data[i][j] = data[i][j];
}
void Mat4f::setIdentity()
{
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
m_data[i][j] = (i == j) ? 1.0f : 0.0f;
}
void Mat4f::print() const
{
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/78721453/cannot-translate-a-transformation-matrix[/url]
Мобильная версия