我目前运行的机器允许我在OpenGL 2.1中编程.如果我要制作一个程序,我应该使用当前OpenGL版本的强大功能,如3.x/4.x或使用2.1吗?
关于一个问题:我怎么知道我的计算机可以运行的OpenGL的最高版本是什么?
另一方面问题:只升级我的视频卡是否允许我在升级版的OpenGL中编程?
随着我对跨平台框架/库的搜索工作的进行,GLFW被多次提及.所以,我决定尝试一下.现在,似乎我甚至无法启动一个窗口.: - /
#include
#include
#include
int main(int argc, char *argv[])
{
int running = GL_TRUE;
srand(time(NULL));
if (!glfwInit())
exit(EXIT_FAILURE);
if (!glfwOpenWindow(300, 300, 0, 0, 0, 0, 0, 0, GLFW_WINDOW))
{
glfwTerminate();
exit(EXIT_FAILURE);
}
while (running)
{
glClear(GL_COLOR_BUFFER_BIT);
glClearColor(rand() % 255 + 1, rand() % 255 + 1, rand() % 255 + 1, 0);
glfwSwapBuffers();
running = !glfwGetKey(GLFW_KEY_ESC) && glfwGetWindowParam(GLFW_OPENED);
}
glfwTerminate();
exit(EXIT_SUCCESS);
}
我在MVC++ 2010中输入了这个,链接了头文件和2个lib文件(它有1个DLL文件,所以我把它扔进了SysWOW64文件夹),我得到了这些错误:
1>------ Build started: Project: glfwTest, Configuration: Debug Win32 ------
1> test.cpp
1>c:\users\andrew\documents\visual studio 2010\projects\glfwtest\glfwtest\test.cpp(8): …Run Code Online (Sandbox Code Playgroud)
* {
margin: 0;
border: 0;
padding: 0;
}
html {
-webkit-text-size-adjust: none;
}
body {
background: #474747 url(bg.png);
}
h1 a {
display: block;
text-decoration: none;
font: 40px Helvetica, Arial, Sans-Serif;
letter-spacing: -5px;
text-align: center;
color: #a0a0a0;
text-shadow: 0px 5px 8px #2a2a2a;
}
h2 {
font: 30px Tahoma, Helvetica, Arial, Sans-Serif;
text-align: center;
color: #222;
text-shadow: 0px 2px 3px #555;
}
div#mobile pre {
width: 275px;
margin: 0 auto;
background: #222;
padding: 10px;
font-size: 20px;
color: #555;
text-shadow: 0px … 我还没有找到一个不包括GLUT的好资源,因为它是后端.当然有Nehe教程,但我发现那些有点模糊.它使用Win32 API,但我想执行跨平台开发.虽然GLUT应该是跨平台的,但它有点针对Windows而不是其他2.没有GLUT教授OpenGL有哪些好的资源?请不要建议FreeGLUT,这基本上就是GLUT了.
如何使用方法更改变量的内容?也许我不是说得对.有什么方法可以像C中那样获取变量的引用?例:
// main stuff
int gorilla = 29;
makeMeABanana(&gorilla);
void makeMeABanana(int *gorilla) { }
Run Code Online (Sandbox Code Playgroud)
我怎么能在Ruby中做这样的事情?
我正在创建一个函数,将第一个参数转换为PHP var(无用,我知道),并将其设置为等于第二个参数.我试图gsub!摆脱所有不能在PHP var中使用的字符.这是我有的:
dvar = "$" + name.gsub!(/.?\/!@\#{}$%^&*()`~/, "") { |match| puts match }
我有puts match那里确保删除了一些角色.name是一个传递给方法的变量,其中这是它的目的.我收到此错误:
TypeError: can't convert nil into String
cVar at ./Web.rb:31
(root) at C:\Users\Andrew\Documents\NetBeansProjects\Web\lib\main.rb:13
Run Code Online (Sandbox Code Playgroud)
Web.rb是此行所在的文件,并且main.rb是调用此方法的文件.我怎样才能解决这个问题?
编辑:如果我删除了!在gsub!中,它会通过,但字符不会删除.
我正在使用JRuby 1.7.2,以及DataMapper,我收到一个错误,我找不到答案.
我只是测试DataMapper和MySQL 5.5,看看它是否会在我构建时运行良好.这是我正在测试的文件:
require "data_mapper"
require "keys"
DataMapper.setup(:default, "mysql://#{$user}:#{$pass}@localhost/test_db")
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我得到错误:
NameError: cannot load Java class com.mysql.jdbc.Driver
Run Code Online (Sandbox Code Playgroud)
它指向DataMapper.setup行.
我的Gemfile应该没问题:
source :rubygems
gem "sinatra"
gem "trinidad"
gem "data_mapper"
# do a `sudo apt-get install libmysqlclient-dev` first
gem "dm-mysql-adapter"
gem "jdbc-mysql"
Run Code Online (Sandbox Code Playgroud)
有什么我想念的吗?我已经在本地设置了用户/传递的MySQL.
package jtextareatest;
import java.io.FileInputStream;
import java.io.IOException;
import javax.swing.*;
public class Jtextareatest {
public static void main(String[] args) throws IOException {
FileInputStream in = new FileInputStream("test.txt");
JFrame frame = new JFrame("WHAT??");
frame.setSize(640, 480);
JTextArea textarea = new JTextArea();
frame.add(textarea);
int c;
while ((c = in.read()) != -1) {
textarea.setText(textarea.getText() + Integer.toString(c));
}
frame.setVisible(true);
in.close();
}
}
当它运行时,它不是放置文件中的正确单词,而是放置与单词无关的随机数字.我怎样才能解决这个问题?
这是我第一次尝试将我的文件分成 4 个文件夹:图像、源、声音、标题。我的问题是:我试图从源文件夹中的文件调用的图像文件夹中加载一个简单的 BMP。这是我的代码:
#include <SDL/SDL.h>
int main(int argc, char *argv[])
{
SDL_Surface *hello = NULL;
SDL_Surface *screen = NULL;
屏幕 = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
你好 = SDL_LoadBMP("../images/hello.bmp");
SDL_BlitSurface(你好,NULL,屏幕,NULL);
SDL_Flip(屏幕);
SDL_延迟(2000);
SDL_FreeSurface(你好);
SDL_退出();
返回0;
}
显然,调用“../images/hello.bmp”不起作用。