cost 166 ms
有没有办法阻止 class 的默认构造函数为成员变量的单个实例运行? - Is there a way to prevent the default constructor of a class from running for a single instance of a member variable?

对于我的游戏,假设我有一个名为 GameTexture 的 class,其中的默认构造函数如下所示: get_shader() 看起来像这样: 初始化着色器是这样开始的: 请注意,默认将着色器设置为 nullptr 是不安全的,因为如果我们尝试渲染未加载的 GameTexture,程序将在尝试取 ...

2023-02-01 23:22:53   1   66    c++ / opengl  
调整 OpenGL 视图 - Adjust OpenGL view

我正在尝试使用 GLFW 和 OpenGL 绘制一些粒子。但是,场景的 output 很奇怪。 我有 8 个位置,它们是空间立方体的坐标: 这是我绘制它们的 OpenGL 代码: 这是开窗和更新场景的代码: 但是,代码的output是: 这很奇怪。 它们应该是立方体的 8 个顶点。 我想我需要调整 ...

在现代 OpenGL 中有效地转换许多不同的模型 - Efficiently transforming many different models in modern OpenGL

假设我想渲染许多不同的模型,每个模型都有一个我想应用于它们顶点的不同变换矩阵。 据我所知,天真的方法是在顶点着色器中指定一个矩阵统一,其值在渲染期间为每个网格更新。 对我来说很明显,这是一个坏主意,因为要付出很多统一更新和绘制调用的代价。 那么,在现代 OpenGL 中实现这一目标的最有效方法是什么 ...

在不使 GL 上下文成为当前上下文的情况下调用 glClientWaitSync() - Calling glClientWaitSync() without making GL context current

我有一个场景在屏幕外 OpenGL 帧缓冲区中渲染的设置,然后计算着色器从中提取一些数据,并将其放入设备上分配的环形缓冲区中。 这个环形缓冲区用 glMapBufferRange() 映射到主机可读的 memory。 在主机端,应该有一个接口,其中 Push() function 将 OpenGL ...

我怎样才能用 GL_LINE_STRIP 围绕一个圆绘制一个形状? - How can I draw a shape with GL_LINE_STRIP around a circle?

我想知道如何在即时模式下使用多段线以不同角度围绕圆圈绘制形状。 因此,例如,就像用不同角度重复的线条制成的青蛙。 我刚刚掌握了绘制圆圈的基础知识,但我无法弄清楚如何绘制形状 go 。 形状的顶点将来自一个 txt 文件,我已经能够将其解析为 (x,y) 坐标。 但我不确定如何将这些顶点绘制成圆形。 ...

2023-01-27 06:53:03   1   34    c++ / opengl  
将单色 OpenGL 纹理保存到文件中会产生 64x64 黑框 - Saving a single color OpenGL texture to a file results in a 64x64 black box

此代码片段旨在创建具有单一颜色的 GL 纹理,然后将原始像素数据保存到磁盘。 然后,我使用 ffmpeg 将其转换为 PNG。我尝试了多种生成纹理的方法,以及多种保存纹理数据的方法,但结果始终相同 - 一个 1920x1080 图像,角落有一个 64x64 黑框。 我期望的是 1920x1080 的 ...

当 OpenGL4.5 中的顶点数少于图元数时处理每个图元法线 - Handling per-primitive normals when there are less vertices than primitives in OpenGL4.5

我在OpenGL 4.5 中想出了一个解决方案,将正确的法线传递给片段着色器,以便每个三角形图元能够在进行索引三角形渲染时使用每个三角形法线。 (我想使用 IBO) 我目前适用于某些模型的解决方案基本上是将每个图元的第一个顶点设置为激发顶点,并将图元的法线计为激发顶点的法线。 (当然是在shad ...

LNK2005 与 __declspec(dllexport) - LNK2005 with __declspec(dllexport)

我正在编写一个简单的 OpenGL 3D 应用程序。 如果我在笔记本电脑上运行该应用程序,性能会很糟糕,因为始终选择内部 Intel GPU 而不是功能更强大的专用 AMD GPU。 我读到我必须包括这一行以强制应用程序在专用的 GPU 上运行: 但是,我收到一个 LNK2005 错误,指出Amd ...

OpenGL 两个纹理在同一网格上时的纹理变换 - OpenGL texture transformation when two textures on same mesh

我有一种情况,我在一个网格上有两个纹理。 我想独立地变换这些纹理。 我有基本代码,其中我能够加载和转换一个纹理。 现在我有加载两个纹理的代码,但问题是当我尝试转换第一个纹理时,当我们修改纹理坐标时,它们都会被转换。 绿色是第一个纹理,星号是第二个纹理。 我不知道如何只转换第二个纹理。 指导我使用您拥 ...

OpenGL 3.3。 索引精灵仅显示调色板的第一种颜色。 我究竟做错了什么? - OpenGL 3.3. Indexed sprite only displaying first color of palette. What am I doing wrong?

我正在尝试在 OpenGL 3.3 中创建一个复古精灵类型的环境。 更具体地说,使用调色板。 从我发现和使用的资源来看,一切都应该是好的。 但事实并非如此。 我的精灵一直忽略索引像素,只使用它在调色板中找到的第一种颜色。 资料来源: 调色板纹理 相关问题的回答源代码:如果你想运行它,你可以通过此 ...

意外的 transformationMatrix 和 offset Matrix with Skeletal Animation - Unexpected transformationMatrix and offset Matrix with Skeletal Animation

我用什么: Assimp 从搅拌机导入.fbx 文件 OpenGL 用于渲染用于处理矩阵和向量的 glm 库我正在尝试使骨架 animation 工作。 我没有将 .fbx 文件直接读入程序,但我首先将其转换为二进制文件。 我试图了解 transformationMatrix 和 offsetM ...

执行 glDrawElements 时需要有 glVertexAttribDivisor - need to have glVertexAttribDivisor when doing glDrawElements

我在做我的小项目,这里有一些代码: 四边形定义: 着色器定义: 以下是绑定: 最终绑定和绘图: 我很困惑,因为上面的代码有效并且一切都正确呈现。 但是,一旦我删除 glVertexAttribDivisor 行,它就不会呈现任何内容。 任何想法为什么会这样? 请注意,我使用的是 glDrawEle ...


 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM