由于auto关键字在编译时获取类类型,我想知道在使用时是否存在任何效率,auto*或者如果该表达式有任何特定用途,因为auto在编译时已经获得了指针类型.
这是我第二次制作游戏引擎,但我现在有点卡住,因为我无法弄清楚为什么会发生这种情况,无论我发送什么对象,OpenGL只会在中心绘制一个白色三角形.屏幕,像这样.
我甚至在Renderer和Camera Objects上的最后一个引擎中修改了我的旧代码,但仍然是相同的,所以我猜它与渲染脚本有关.
渲染:
Renderer2D::Renderer2D(const Shader& shader) {
this->shader = shader;
this->Init();
}
Renderer2D::~Renderer2D() {
glDeleteVertexArrays(1, &this->QuadVAO);
}
void Renderer2D::Render(Texture & texture, iVec2 position, iVec2 size, float rotation, iVec3 color) {
this->shader.Use();
iMat4 model;
using namespace glm;
model = translate(model, iVec3(position.x, position.y, 0.0f));
/*
model = translate(model, iVec3(size.x * 0.5f, size.y * 0.5f, 0.0f));
model = rotate(model, rotation, iVec3(0.0f, 0.0f, 1.0f));
model = translate(model, iVec3(size.x * -0.5f, size.y * -0.5f, 0.0f));
*/
model = glm::scale(model, iVec3(size.x, size.y, 1.0f));
this->shader.SetMatrix4("model2D", …Run Code Online (Sandbox Code Playgroud)