小编vir*_*raj的帖子

指向一个类成员的函数--glfw setKeycallback

我正在编写一个glfw应用程序,我将函数调用函数包装到一个简单的类中.我在设置密钥回调时遇到问题.我的课程定义为:

class GAME 
{
private:
    bool running;
public:
    GAME();
    int execute();
    void events(int, int);
    int loop();
    int render();
};
Run Code Online (Sandbox Code Playgroud)

执行功能是:

int GAME::execute() 
    {
        glfwOpenWindow(640, 320, 8, 8, 8, 8, 0, 0, GLFW_WINDOW);
        glfwSetWindowTitle("Viraj");
        glfwSetKeyCallback(events);
        running = true;
        while(glfwGetWindowParam(GLFW_OPENED))
        {
            glfwPollEvents();
            loop();
            render();
        }
        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

在Visual Studio 2010上编译以下代码,给出错误:

error C3867: 'GAME::events': function call missing argument list; use '&GAME::events' to create a pointer to member

使用&GAME :: events提供:

error C2664: 'glfwSetKeyCallback' : cannot convert parameter 1 from 'void (__thiscall GAME::* …

c++ pointers class function glfw

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

使用MinGW和Eclipse编译Win32 GUI应用程序(不带控制台)

我正在使用带有MinGW的eclipse IDE作为我的编译器来制作Win32 GUI应用程序.

我想摆脱控制台,但用-mwindows选项编译程序没有任何效果,控制台仍在那里.

使用该-Wl,--subsystem,windows标志也不起作用.我究竟做错了什么 ?

c++ eclipse gcc mingw

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

如何在OpenGL中显示图像

如何使用OpenGL渲染图像(.bmp和.jpeg)?我遇到过一些教程,但是它们用于C#而不是C/C++.我想渲染图像的原因是因为我想绘制一艘宇宙飞船(用于游戏).我可以使用OpenGL原语,但它看起来并不那么好.另一个选择是使用坐标绘制宇宙飞船,但这需要很长时间,并且看起来不会那么好.

运行以下代码段始终返回失败:

#include <iostream>
#include <GL/glfw.h>
using namespace std;
int main()
{
  GLFWimage image;
  if(glfwReadImage("ship.tga", &image, GLFW_ORIGIN_UL_BIT)!=GL_TRUE);
  cout << "FAILED";
  system("PAUSE");
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么 ?编写得不好的代码.对于那个很抱歉.现在工作

c++ opengl graphics

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

为越狱的iOS设备开发应用程序?

我知道你需要Mac和Xcode以及SDK.但是有可能使用Windows/Linux平台为jaibroken设备和/或常规设备开发应用程序吗?

编辑

另外,Airplay SDK的缩减是什么?听说它很不错但并没有提供与通过Xcode开发的应用程序相同的性能.找到这份 PDF文档,它是什么

windows iphone jailbreak ios

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

使用带有C++应用程序的box.net,dropbox(或任何云存储)

如何在C++ Apllication中使用Dropbox等云存储?我已经检查了他们的API,他们只有Java,Python和Ruby选项.如果您不能将dropbox与c ++应用程序一起使用,那么任何具有C++ API的云存储提供程序都是如此.

c++ cloud api dropbox

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

使用C++解析Wavefront .obj文件

在尝试解析wavefront .obj文件时,我想到了两种方法:

  1. 创建一个顶点数量大小的二维数组.当一个面使用一个顶点时,从数组中获取它的坐标.
  2. 获取顶点列表的起始位置,然后当面使用顶点时,扫描线直到到达顶点.

IMO,选项1将非常耗费内存,但要快得多.由于选项2涉及大量文件读取(并且因为大多数对象中的顶点数量变得非常大),因此速度会慢得多,但记忆密集程度会降低.

问题是:比较内存和速度之间的权衡,哪个选项更适合普通计算机?而且,还有另一种方法吗?

我计划使用OpenGL和GLFW来渲染对象.

c++ wavefront

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

在C++中使用UNICODE字符值

你如何在C++中使用unicode?林意识到wchar_twchar_t*,但我想知道如何可以只使用Unicode值赋值,类似于一个角色可以通过等同的变量的ASCII值分配方式:

char a = 92;
Run Code Online (Sandbox Code Playgroud)

我正在使用MinGW编译器,如果它有所作为.

c++ unicode

5
推荐指数
2
解决办法
3200
查看次数

在没有MFC的win32中保存/打开通用对话框

如何使用纯非托管Win32 API创建deafault Save/Open对话框?按照此处的指南,WM_CREATE在主窗口的消息循环中处理消息时执行以下代码:Ive included <Commdlg.h>.

            OPENFILENAMEA ofn;
        char Buffer[300];
        fill(Buffer, Buffer + 300, '\0');
        ofn.lStructSize = sizeof(OPENFILENAMEA);
        ofn.hwndOwner = hWnd;
        ofn.lpstrFile = Buffer;
        ofn.nMaxFile = 300;
        ofn.Flags = OFN_EXPLORER;
        ofn.lpstrFilter = NULL;
        ofn.lpstrCustomFilter = NULL;
        ofn.nFilterIndex = 0;
        ofn.lpstrFileTitle = NULL;
        ofn.lpstrInitialDir = NULL;
        ofn.lpstrTitle = NULL;
        out << GetOpenFileNameA(&ofn) << endl;
        out << Buffer << (int)CommDlgExtendedError();
Run Code Online (Sandbox Code Playgroud)

但是,此代码无论如何都会产生NO输出.救命?!

c++ winapi dialog file

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

使用OpenGL渲染3D对象(.obj文件)时闪烁

在尝试使用OpenGL(和GLFW库)渲染3D对象时,模型会经历大量闪烁.我正在.obj使用我自己编写的库来读取文件.

下面写的是我的渲染函数:不幸的是,为了理解面和顶点是如何输入的,我将不得不提供所有链接的代码:压缩代码以及可执行文件和示例.obj: Source

我从这里使用.obj文件来测试程序.现在,该程序不支持法线和纹理,这不是问题,因为网站上的大多数模型都没有它们.此外,(现在)它只读取"123.obj"所以该文件不应该被命名为其他任何东西.它只接受一个空间,而不是更多.

 float render()
    {
        glfwSetTime(0.0f);
        int win_width;
        int win_height;
        glfwGetWindowSize(&win_width, &win_height);
        float win_aspect = (float)win_width / (float)win_height;
        glViewport(0, 0, win_width, win_height);

        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
        gluPerspective(90, win_aspect, 0, 100.0);

        glMatrixMode(GL_MODELVIEW);
        glLoadIdentity();
        gluLookAt(0, 0, 50.0, 0, 0, 0, 0.0, 1.0, 0.0);

        glEnable(GL_DEPTH);
        glEnable(GL_DEPTH_TEST);
        glEnable(GL_COLOR_MATERIAL);
        glEnable(GL_NORMALIZE); 
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

        glRotatef(angle , 0 , 1, 0);
        glColor3f(0.0f, 0.0f, 0.0f);
        int index = 0;
        for(int a = 0; a < faces.size(); a++)
        {
            if(faces[a].vertices.size() == 3)
            { …
Run Code Online (Sandbox Code Playgroud)

c++ windows opengl wavefront glfw

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

从使用glfw创建的窗口中删除最大化按钮

如何从使用glfwopenWindowfunctionn调用创建的窗口中删除最大化按钮?

目前,我正在做的是:

windowHandle = GetForegroundWindow();
long Style = GetWindowLong(windowHandle, GWL_STYLE);
Style ^= WS_MAXIMIZEBOX;
SetWindowLong(windowHandle, GWL_STYLE, WS_MAXIMIZEBOX);
Run Code Online (Sandbox Code Playgroud)

在哪里,我得到窗口句柄,然后切换最大化位.然后我重新应用窗口样式.但这不起作用,它使窗口完全空白,没有任何按钮或标题栏.无论如何要删除最大化按钮.我不想在调用resize函数时更改窗口大小

c++ winapi win32-process glfw

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