小编gen*_*ult的帖子

GLFW 3例编译问题VS2012

我安装了GLFW 3(包括将文件夹包含到VS\C\include,lib到VS\C\lib和dll到SySWOW54).现在,当我尝试从文档中编译第一个示例时

#include <GLFW/glfw3.h>
#include <stdlib.h>
#include <stdio.h>
static void error_callback(int error, const char* description)
{
    fputs(description, stderr);
}
static void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods)
{
    if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
        glfwSetWindowShouldClose(window, GL_TRUE);
}
int main(void)
{
    GLFWwindow* window;
    glfwSetErrorCallback(error_callback);
    if (!glfwInit())
        exit(EXIT_FAILURE);
    window = glfwCreateWindow(640, 480, "Simple example", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        exit(EXIT_FAILURE);
    }
    glfwMakeContextCurrent(window);
    glfwSetKeyCallback(window, key_callback);
    while (!glfwWindowShouldClose(window))
    {
        float ratio;
        int width, height;
        glfwGetFramebufferSize(window, &width, &height); …
Run Code Online (Sandbox Code Playgroud)

opengl glfw visual-studio-2012

-1
推荐指数
1
解决办法
3604
查看次数

如何将.obj文件转换为openGL?

我发现很难将.obj文件转换为openGL.我找到了我的模型,在这里我附上了main.cpp文件供您参考.我不确定如何运行文件.当我在openGL中调用所有这些文件时,我应该运行哪个文件.最初,当我在Visual Studio中打开OpenGL时,我调用了main.cpp文件并运行该文件.但它显示了许多错误.错误说无法找到PDB文件.那是什么?

opengl

-1
推荐指数
1
解决办法
6133
查看次数

SDL2/C++无法加载图像

我没有错误,控制台窗口立即关闭,而不显示我的bmp和png文件.此外,所有DLL文件和图片都在正确的文件夹中(图片在我的Debug文件夹中,exe所在的位置)我正在使用visual studio 2013

  #include "stdafx.h"
  #include <iostream>
  #include <SDL.h>
  #include <SDL_image.h>
  #include <SDL_mixer.h>


int main(int argc, char *argv[])
{

bool quit = false;

SDL_Init(SDL_INIT_VIDEO);

SDL_Window* window = NULL;
window = SDL_CreateWindow("My First RPG", 100, 100, 600, 400, SDL_WINDOW_SHOWN);

if (window == NULL)
{
    std::cout << "Window couldn't be opened" << std::endl;
    return 0;
}

return 0;

SDL_Renderer* renderer = NULL;
renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
SDL_Event* mainEvent = new SDL_Event();

SDL_Texture* background_image = NULL;
background_image = IMG_LoadTexture(renderer, "background.bmp");

if (background_image …
Run Code Online (Sandbox Code Playgroud)

c++ sdl

-1
推荐指数
1
解决办法
382
查看次数

英特尔 IPP 是否支持任何支持 OpenGL 的 GPU?

正如这里所说,OpenCV 使用 IPP,而 IPP 使用 GPU:

\n\n
\n

原来 OpenCV 正在使用 IPP,而 IPP 本身现在也可以使用 GPU\n。

\n\n

以防万一其他人在 google 上搜索“opencv gpu 速度较慢”并且不知道\n IPP GPU 支持;)

\n
\n\n

另外,我发现了这个

\n\n
\n

使用Intel\xc2\xae IPP异步优化增强现实管道

\n\n

使用 Intel\xc2\xae GPU优化 Total Immersion 的 D\'Fusion* 增强现实管道的性能和功耗

\n
\n\n

而且没有一个关键字:OpenCL、OpenACC、CUDA、nVidia,...

\n\n

与GPU相关的关键字只有一个:OpenGL

\n\n

这是否意味着Intel IPP仅支持Intel GPU?或者 Intel IPP 支持任何支持 OpenGL 的 GPU(nVidia GeForce、AMD Radeon)?

\n

opengl opencv opencl intel-ipp

-1
推荐指数
1
解决办法
874
查看次数

在GLSL 1.30上编译片段着色器时出错

以下片段着色器有什么问题?它可以在GLSL 4.0下编译正常,但在GLSL 1.30上失败。

这是代码:

// Fragment Shader
"uniform sampler2D texture;\n"
"uniform sampler1D cmap;\n"
"uniform float minZ;\n"
"uniform float maxZ;\n"
"\n"
"void main() {\n"
"    float height = texture2D(texture,gl_TexCoord[0].st);\n"
"    float lum = (height-minZ)/(maxZ-minZ);\n"
"    if (lum > 1.0) lum = 1.0;\n"
"    else if (lum < 0.0) lum = 0.0;\n"
"    gl_FragColor = texture1D(cmap, lum);\n"
"}"
Run Code Online (Sandbox Code Playgroud)

这些是错误:

FRAGMENT glCompileShader "" FAILED
FRAGMENT Shader "" infolog:
0:7(2): error: initializer of type vec4 cannot be assigned to variable of type float
0:8(2): …
Run Code Online (Sandbox Code Playgroud)

c++ opengl glsl

-1
推荐指数
1
解决办法
1008
查看次数

如何在 OpenGL C++ 中绘制多个三角形?

我能够使用顶点数组绘制单个对象。但是,在绘制多个对象时,这让我很困难。

我有一组这样的数据,三个顶点渲染一个三角形:

-0.0570917f,0.490469f,-0.142433f
-0.0581126f,0.5f,-0.160615f
-0.0651903f,0.490827f,-0.147409f
-0.0501295f,0.499886f,-0.158146f
-0.0491703f,0.49039f,-0.140236f
-0.0422027f,0.499864f,-0.157942f
-0.041255f,0.49031f,-0.138206f
-0.0333885f,0.490314f,-0.137995f
-0.0967512f,0.48302f,-0.150394f
...
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下代码渲染多个三角形:

// this array contains arrays with one vertex (three elements)
vector<vector<GLfloat>> pointVertex;

// Render OpenGL here
for (int i = 0; i < pointVertex.size(); i++) {
    vector<GLfloat> temp = pointVertex[i];
    GLfloat *pointVertexArrayPoint = temp.data();
    glEnable(GL_POINT_SMOOTH);
    glEnableClientState(GL_VERTEX_ARRAY);
    glVertexPointer(3, GL_FLOAT, 0, pointVertexArrayPoint);
    glDrawArrays(GL_LINES, 0, temp.size());
    glDisableClientState(GL_VERTEX_ARRAY);
    glDisable(GL_POINT_SMOOTH);
}
Run Code Online (Sandbox Code Playgroud)

现在,我得到了结果,但这一切都始于同一点。我希望它呈现不同的多个单独的三角形。我怎样才能改变它?

c++ opengl

-1
推荐指数
1
解决办法
5281
查看次数

如何在C++/OpenGL中直接输入纹理中的RGB(A)值?

我想涉足 OpenGL 项目中的一些程序纹理,但似乎没有任何效果。我所需要的只是将 RGB 和可能的 A 值输入到空纹理中,而不是从文件加载它。在实际的代码中我该如何做到这一点?

编辑:还没有主要代码,因为我没有发现任何有用的东西。目前最好的猜测是这样的:

void GenerateTexture()
{
    unsigned char image_data[16] = {0, 0, 150, 255, 125, 0, 0, 255, 0, 0, 150, 255, 125, 0, 0, 255};
    glGenTextures(1, &tex_obj);
    glBindTexture(GL_TEXTURE_2D, tex_obj);
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 2, 2, 0, GL_RGBA, GL_UNSIGNED_BYTE, image_data);
}
Run Code Online (Sandbox Code Playgroud)

...像这样实现:

glBegin (GL_QUADS);
if (*irrelevant for question*){
    glTexCoord2f(0.0,1.0);
    glVertex3f (-0.45-cam.pos.val[0], 0.45-cam.pos.val[1], 0.45-cam.pos.val[2]);
    glTexCoord2f(0.0,0.0);
    glVertex3f (-0.45-cam.pos.val[0], -0.45-cam.pos.val[1], 0.45-cam.pos.val[2]);
    glTexCoord2f(1.0,0.0);
    glVertex3f (0.45-cam.pos.val[0], -0.45-cam.pos.val[1], 0.45-cam.pos.val[2]);
    glTexCoord2f(1.0,1.0);
    glVertex3f (0.45-cam.pos.val[0], 0.45-cam.pos.val[1], 0.45-cam.pos.val[2]);
}
glEnd ();
Run Code Online (Sandbox Code Playgroud)

...但是一旦使用超过 1x1 的纹理运行,它就会变成干净的白色。

c++ opengl textures

-1
推荐指数
1
解决办法
258
查看次数

我从 BMP 标头获取 ASCII 符号而不是数字

我正在尝试从 .bmp 文件中获取 BITMAPFILEHEADER 部分。我期望看到一些数字,但有 ASCII 符号。如何解决这个问题呢?

std::string path;
std::ifstream file;

path = "C:\\Users\\user\\Desktop\\Emp.bmp";

file.open(path);

if (!file.is_open())
{
    std::cout << "ERROR";
}
else
{
    char fromfile[14];

    file.read(fromfile, 14);

    std::cout << fromfile;
    file.close();
}
Run Code Online (Sandbox Code Playgroud)

我尝试将 ASCII 输出转换为十六进制符号,并且我有正确的数据(它与十六进制编辑器数据匹配),但我不明白为什么我从程序输出中获取 ASCII

c++ bmp

-1
推荐指数
1
解决办法
122
查看次数

glBegin(GL_TRIANGLES)不呈现任何内容

我试图导入.obj文件,但甚至无法呈现三角形.这是我正在尝试做的只是为了测试它是否可以展示一些东西.

glBegin(GL_TRIANGLES);
    glColor3f(0.5, 0.5, 0.5);
    glVertex3f(0, 0, 0);
    glVertex3f(1, 1, 1);
    glVertex3f(2, 2, 2);
glEnd();
Run Code Online (Sandbox Code Playgroud)

这不会显示任何内容.但是,当我为GL_LINES更改GL_TRIANGLES时,它会显示该行.

如何显示三角形?

语言:C++

操作系统:Mac 10.7.3

c++ opengl

-2
推荐指数
1
解决办法
5205
查看次数

除了我的应用程序之外静音

我使用DirectSound在C#4.0中制作了一个小声音发生器.我想把所有其他声音静音.我只希望我的应用程序能够发出声音.

怎么做?

我知道如何pInvoke所以你可以给我非托管代码.

.net c++ directx audio winapi

-2
推荐指数
1
解决办法
484
查看次数

标签 统计

c++ ×7

opengl ×7

.net ×1

audio ×1

bmp ×1

directx ×1

glfw ×1

glsl ×1

intel-ipp ×1

opencl ×1

opencv ×1

sdl ×1

textures ×1

visual-studio-2012 ×1

winapi ×1