当我使用此代码绘制多维数据集时
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt(
x, y, z,
x+xp, y+yp, z+zp,
0.0f, 1.0f, 0.0f);
glBegin(GL_QUADS);
glColor3f(0.0f,1.0f,0.0f);
glVertex3f( 1.0f, 1.0f,-1.0f);
glVertex3f(-1.0f, 1.0f,-1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f);
glColor3f(1.0f,0.5,0.0f);
glVertex3f( 1.0f,-1.0f, 1.0f);
glVertex3f(-1.0f,-1.0f, 1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f( 1.0f,-1.0f,-1.0f);
glColor3f(1.0f,0.0f,0.0f);
glVertex3f( 1.0f, 1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f);
glVertex3f(-1.0f,-1.0f, 1.0f);
glVertex3f( 1.0f,-1.0f, 1.0f);
glColor3f(1.0f,1.0f,0.0f);
glVertex3f( 1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f, 1.0f,-1.0f);
glVertex3f( 1.0f, 1.0f,-1.0f);
glColor3f(0.0f,0.0f,1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f,-1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f,-1.0f, 1.0f);
glColor3f(1.0f,0.0f,1.0f);
glVertex3f( 1.0f, 1.0f,-1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f);
glVertex3f( 1.0f,-1.0f, 1.0f); …Run Code Online (Sandbox Code Playgroud) 我试图将一些字符串值保存到一个块中,以便我可以将该块保存到文本文件中.我使用VID从表单中获取这些值.
一种方法是简单地将字符串保存到文件中.但我更希望能够将数据作为块检索.
这就是我打算做的事情:
view layout [
contact-name: field
save-button: btn "Save" [
saved-data-block: copy []
append saved-data-block [[contact-name: contact-name/text]] ;problem here
save my-file saved-data-block
]
]
Run Code Online (Sandbox Code Playgroud)
对于Rebol User名称字段中的输入,存储在文件中的内容应该类似[contact-name: "Rebol User"],但内容是[contact-name: contact-name/text]
我知道问题是在我追加它时,块没有被评估为代码saved-data-block.如何以块状方式将字符串值保存到文本文件中?我应该做其他事情来实现这个目标吗?欢迎提出任何意见/疑问.
我在使用Qt时注意到这一点,通过代码示例.
当他们试图设置存储角度的变量的范围(在这种情况下是角度)时,为什么需要将360 乘以 16而不是360?
代码(来自hellogl示例)是
static void qNormalizeAngle(int &angle)
{
while (angle < 0)
angle += 360 * 16;
while (angle > 360 * 16)
angle -= 360 * 16;
}
Run Code Online (Sandbox Code Playgroud)
colloidingmice示例中的另一个示例:
Mouse::Mouse()
: angle(0), speed(0), mouseEyeDirection(0),
color(qrand() % 256, qrand() % 256, qrand() % 256)
{
setRotation(qrand() % (360 * 16));
}
Run Code Online (Sandbox Code Playgroud)
承认我在Qt和图形编程方面几乎没有经验,也告诉我这是否在所有地方或仅在Qt中是常见的.
我在头文件中定义一个结构,然后在corrosponding .cpp文件中设置它的成员.为此,我使用的函数应该在其范围内创建(相同)结构,然后返回它.像这样的东西:
在标题中:
#include <things>
class GLWindow : public QGLWidget, public QGLFunctions
{
Q_OBJECT
public:
GLWindow(QWidget *parent = 0);
~GLWindow();
//....
struct Drawable
{
GLuint vertexBuffer;
GLuint indexBuffer;
int faceCount;
QMatrix4x4 transform;
}cube;
GLuint cubeTex;
Drawable CreateDrawable(GLfloat* C_vertices, GLfloat* C_tex, GLfloat* C_normals, GLushort* C_facedata, int faces);
//.....
};
Run Code Online (Sandbox Code Playgroud)
在cpp文件中:
#include "glwindow.h"
Drawable GLWindow :: CreateDrawable(GLfloat *C_vertices, GLfloat *C_tex, GLfloat *C_normals, GLushort *C_facedata, int faces)
{
int faceCount =faces;
QMatrix4x4 Transform;
Transform.setToIdentity();
GLuint VB;
/*Create vertexbuffer...*/
GLuint IB;
/*Create indexbuffer...*/
Drawable …Run Code Online (Sandbox Code Playgroud) 我今天接受采访时被问到以下两个声明之间的区别:
int *A[10];
Run Code Online (Sandbox Code Playgroud)
和
int (*A)[10];
Run Code Online (Sandbox Code Playgroud)
我不知道.如果你认为我错过了一些重要的指针'指针',请告诉我.谢谢.