opengl

    0热度

    1回答

    我想绘制一些使用OpenGL与VAO和VBO对象的东西。要做到这一点,我只需要分类NSOpenGLView。默认情况下,使用OpenGL v2.1,所以,我放了一个PixelFormat,编写代码,并解决了所有打印错误。目前该应用运行良好,但没有任何东西在窗口绘制,即使glClearColor也没有效果。请帮助我找到并解决问题。我的操作系统是带有OpenGL v4.1的Mac v10.12。 My

    1热度

    1回答

    我正在尝试使用箭头键在场景周围移动车辆。我可以使用左/右键旋转车辆,但是当我尝试向前/向后移动时,无论车辆面部朝向哪个方向,它都只能沿着单个轴线旋转。 glPushMatrix(); // movement glTranslatef(movement, 0.0, 0.0); // turning glTranslatef(base, 0.0, 0.0);

    2热度

    1回答

    我想到了一些令我困惑的东西,我无法找到答案。当我写的着色器是这样的: layout (location = 0) in vec3 inPosition; layout (location = 1) in vec3 inNormal; layout (location = 2) in vec2 inTexCoords; 我知道VEC3的不对齐,许多vec4的是,或SIMD兼容的数据类型的16

    0热度

    2回答

    我无法通过统一的sampler2Ds发送两个纹理到我的片段着色器。我的片段着色器有两个制服,但看起来我的代码将同一图像发送给两个采样器。首先绑定的纹理似乎自动绑定到两个制服。 完整C++代码如下: #define GLEW_STATIC #include <GL/glew.h> #include <GLFW/glfw3.h> #include <glm/glm.hpp> #include

    0热度

    1回答

    我正在尝试为我正在处理的项目实现简单的阴影贴图。我可以将深度纹理渲染到屏幕上,所以我知道它在那里,问题是当我使用阴影纹理坐标对阴影贴图进行采样时,看起来好像坐标已关闭。 这里是我的光空间矩阵计算 mat4x4 lightViewMatrix; vec3 sun_pos = {SUN_OFFSET * the_sun->direction[0], SUN_OFFSET * the

    3热度

    1回答

    **//My 3D vertex data class** class Vertex { public: Vertex(float xx, float yy, float zz) : x(xx), y(yy), z(zz) { } virtual ~Vertex() {} private: float x; float y; fl

    3热度

    1回答

    我想使用OpenGL和GLSL为我的场景添加定向光源。问题是,理论上正确的做法有错误的结果。 在顶点着色器我执行以下操作: 的光的方向在世界坐标中给出并且使用viewMatrix到照相机坐标变换。顶点的法线使用标准矩阵转换为相机坐标。 void main() { vary_textureCoord = attribute_textureCoord; vary_normal =

    0热度

    1回答

    最近,我一直在使用C++和OpenGL/GLFW进行3D物理模拟。为了创建一个非常准确的模拟,我需要(除其他外)使时间步骤非常小。问题是,模拟运行速度非常慢,所以我在考虑的是多次(如20)时间,然后渲染结果。模拟更精确,但帧速率非常低。解决方案是将每个渲染器保存为视频帧。有没有办法做到这一点内置于GLFW或其他库(不使用像nVidia Shadowplay和录制窗口)?

    0热度

    1回答

    我的应用程序给我发了这条消息时,我试图运行GLSL3.3着色器 #version 330 layout(location = 0) in vec2 position; layout(location = 1) uniform float TimeUniform = 0.0f; out float TimeUniformFrag; void main() { gl_Position

    1热度

    1回答

    我搜索一些关于GPU如何工作的信息。从不同的来源中我发现用于硬件加速的L(变换和照明)技术。例如,它计算多边形照明。但据我所知,今天开发人员正在使用可编程图形管道,并通过着色器创建照明。 那么,今天用的T & L是什么?