小编Car*_*ier的帖子

Visual Studio C++ 2010 express和OpenGL

我希望能够从VisualC++ 2010编译OpenGL4.1(C/C++)应用程序.

在搜索之后我才发现:http: //www.opengl.org/sdk/ 和文档:(很好) http://www.opengl.org/sdk/docs/man4/

这有点令人困惑,我真的不知道要安装什么来开始.我甚至找不到下载链接,或者我应该使用的OpenGL项目.

c++ opengl visual-studio-2010 visual-c++

14
推荐指数
2
解决办法
4万
查看次数

有没有办法将Date对象复制到另一个日期对象而不使用引用?

我有一个程序加载原始数据以供图表并将其存储在一个名为的类中cRawGraph.它然后格式化这些数据并将其存储在另一个名为的类中cFormatGraph.有没有办法复制存储在cRwGraph日期对象中的一些日期对象cFormattedGraph而不使用引用?我查看了Oracle的文档,并没有看到一个构造函数会接受日期对象或任何方法数据会实现这一点.

代码段:

do{
        d=rawData.mDate[i].getDay();
        da=rawData.mDate[i];
        datept=i;
        do{
          vol+=rawData.mVol[i];
          pt+=rawData.mPt[i];
          c++;
          i++;
          if (i>=rawData.getSize())
              break;
          } while(d==rawData.mDate[i].getDay());

        // this IS NOT WORKING BECOUSE IT IS A REFRENCE AND RawData gets loaded with new dates,
        // Thus chnaging the value in mDate
        mDate[ii]=da;

      mVol[ii]=vol;
      mPt[ii]=pt/c;
      if (first)
      {
          smallest=biggest=pt/c;
          first=false;
      }
      else
      {
          double temp=pt/c;
          if (temp<smallest)
              smallest=temp;
          if (temp>biggest)
              biggest=temp;

      }
      ii++;
    } while(i<rawData.getSize());  
Run Code Online (Sandbox Code Playgroud)

java

13
推荐指数
2
解决办法
2万
查看次数

OpenGL 3/4 glVertexAttribPointer步幅和偏移误算

我的顶点数组指向正确时遇到问题:

const float vertices[] = {
/* position */ 0.75f, 0.75f, 0.0f, 1.0f, /* color */ 1.0f, 0.0f, 0.0f, 1.0f,
/* position */ 0.75f, -0.75f, 0.0f, 1.0f, /* color */ 0.0f, 1.0f, 0.0f, 1.0f,
/* position */ -0.75f, -0.75f, 0.0f, 1.0f, /* color */ 0.0f, 0.0f, 1.0f, 1.0f, };

...

glBindBuffer(GL_ARRAY_BUFFER, vertexBufferObject);
glEnableVertexAttribArray(0);
glEnableVertexAttribArray(1);
glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 0, 0);
glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE, 0, (void*)16);

glDrawArrays(GL_TRIANGLES, 0, 3);

glDisableVertexAttribArray(0);
glDisableVertexAttribArray(1);
Run Code Online (Sandbox Code Playgroud)

我不明白步幅和偏移是如何工作的.glVertexAttribPointer()在我的情况下使用的正确方法是什么?

opengl attributes offset vertex stride

12
推荐指数
2
解决办法
2万
查看次数

OpenGL SuperBible第6版,头文件sb6.h缺失

最近我开始学习OpenGL和; 反过来,开始阅读使用OpenGL 4.3的OpenGL SuperBible第6版.

我的问题出现在sb6.h头文件中,因为在本书中写道,这是一个c ++头文件,它定义了一个名为sb6的命名空间,它包含了一个应用程序类的声明.

当我尝试编译我的程序时,我的C++ IDE(Visual Studio 2010)会抛出一个错误,指出无法找到这样的头文件.

所以也许你们其中一个人听说过这个问题,或者也开始阅读这本书并知道如何解决这个问题; 如果是的话请回复.

#include "sb6.h"

//derive my_application from sb6:application

class my_application : public sb6.application
{
public : 

   //Rendering function
   void render(double currentTime){

   //Simply clear the window red
   static const GLfloat red[] = {1.0f , 0.0f , 0.0f , 1.0f};

  glClearBufferfv(GL_COLOR, 0 , red) ; 
}
Run Code Online (Sandbox Code Playgroud)

c++ opengl opengl-4

4
推荐指数
1
解决办法
3559
查看次数

如何在c中乘以32位整数

执行:

#define HIGH32(V64) ((uint32_t)((V64 >> 32)&0xffFFffFF))
#define LOW32(V64) ((uint32_t)(V64&0xffFFffFF))

uint32_t a = 0xffFFffFF;
uint32_t b = 0xffFFffFF;
uint64_t res = a * b;
printf("res = %08X %08X\n", HIGH32(res), LOW32(res));
Run Code Online (Sandbox Code Playgroud)

得到:

"res = 00000000 00000001"
Run Code Online (Sandbox Code Playgroud)

但我期待:fffffffe00000001.我做错了什么?单一作业:

res = 0x0123456789ABCDEF;
printf("res = %08X %08X\n", HIGH32(res), LOW32(res));
Run Code Online (Sandbox Code Playgroud)

res = 01234567 89ABCDEF
Run Code Online (Sandbox Code Playgroud)

环境:

$gcc --version
gcc (GCC) 4.8.3
Copyright (C) 2013 Free Software Foundation, Inc.

$ gcc -v
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-pc-cygwin/4.8.3/lto-wrapper.exe
dest arch: i686-pc-cygwin

$ file a.exe
a.exe: PE32 executable (console) Intel 80386, for …
Run Code Online (Sandbox Code Playgroud)

c gcc cygwin multiplication

3
推荐指数
1
解决办法
1457
查看次数

使用指针数组递增和递减

我的老师给了我这个代码,它返回31,40,但我无法弄清楚原因.它返回它的原因是什么原因?

void main() {
    int *ptr;
    int arr[5] = { 10, 20, 30, 40, 50 };
    ptr = &arr[3];
    cout << ++*ptr-- << ", " << *ptr;
}
Run Code Online (Sandbox Code Playgroud)

c++ arrays pointers

3
推荐指数
1
解决办法
325
查看次数

多线程,并发线程如何工作?

如果我有一个双核CPU,它是否意味着它可以运行最多2个线程?

然后; 如果是这样,当它们看起来受到CPU的限制时,如何运行4个并发线程到2个?(因为双核PC最多只能运行2次).

multithreading

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

无法在InitializeGL和paintGL之外调用OpenGL相关功能

如标题所示,在Qt内部,我无法使用或调用QGLWidget函数之外的任何OpenGL函数,例如initializeGL()paintGL()

QMainWindow调用班级的某个插槽后,我试图构建3D模型。一切似乎都可以正常工作,所有顶点都已加载,但是,当我尝试绘制模型时,出现了NULL引用异常。当提供的顶点太少时,通常会发生这种情况。

当我在中使用它时,相同的构建函数也可以工作initializeGL()

c++ opengl qt

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

如何在C中扫描long long long int

我试过long long成功扫描整数; 但是,我不知道如何扫描更大的整数long long.如何将一个扫描整数更大的long long在C?例如,long long long.

c scanf

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

如何使用字符串动态命名对象?

我是一个Java初学者,并且想知道如何使用字符串命名类的实例,然后依次创建case:使用该字符串/对象,同时保持完全自动化(System.in.read()例如使用)?

java

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