到目前为止,我一直使用寄存器$ s0- $ s9和寄存器$ t0- $ t9相同.我被告知并阅读了无数的论坛帖子和段落,并在Google上解释了这些差异,但没有编码示例.我被告知我应该看到它与使用程序有什么区别,但是我已经创建了无数个涉及程序的方案,试图找到保存的寄存器与临时寄存器之间的区别但是我失败了.
我想看一个相对简单的例子,其中$ t0-9寄存器与$ s0-9寄存器的作用不同,结果会产生不同的值?
我试图从网站上整理一个GLSL示例程序,这样我就可以了解着色器.
着色器示例程序来自http://www.swiftless.com/tutorials/glsl/1_setup.html#DL
1>------ Build started: Project: TheLightingExperiment2, Configuration: Debug Win32 ------
1>shader.obj : error LNK2001: unresolved external symbol __imp____glewLinkProgram
1>shader.obj : error LNK2001: unresolved external symbol __imp____glewAttachShader
1>shader.obj : error LNK2001: unresolved external symbol __imp____glewCreateProgram
1>shader.obj : error LNK2001: unresolved external symbol __imp____glewCompileShader
1>shader.obj : error LNK2001: unresolved external symbol __imp____glewShaderSource
1>shader.obj : error LNK2001: unresolved external symbol __imp____glewCreateShader
1>shader.obj : error LNK2001: unresolved external symbol __imp____glewDeleteProgram
1>shader.obj : error LNK2001: unresolved external symbol __imp____glewDeleteShader
1>shader.obj : error LNK2001: …Run Code Online (Sandbox Code Playgroud) 很多谷歌搜索假设你对这些矩阵代表什么有基本的了解,而我却不知道.
我了解向量和矩阵及其操作.
我想引用一些我无法理解的最简单的着色器代码,将法线和顶点放在眼睛空间中:
//vertex shader
varying vec4 color;
varying vec3 N;
varying vec3 v;
void main(void)
{
v = vec3(gl_ModelViewMatrix * gl_Vertex);
N = normalize(gl_NormalMatrix * gl_Normal);
color = gl_Color;
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}
Run Code Online (Sandbox Code Playgroud)
我的问题:
(i)当顶点着色器循环遍历每个顶点时,gl_ModelViewMatrix是否随每个顶点循环而变化?或者gl_ModelViewMatrix在每个顶点迭代中是否保持不变,并且可以将任何顶点转换为眼睛空间?
(ii)与我的第一个问题类似,但是gl_NormalMatrix有哪些信息?它是否包含场景中每个法线的信息,以及它如何将进入顶点着色器的当前顶点法线转换为眼睛空间?或者矩阵是否会随着每个顶点进入顶点着色器而变化,那么它如何将进入顶点着色器的当前顶点法线转换为眼睛空间?
当我使用 INADDR_ANY 指定要绑定到套接字的 IP 地址时,套接字稍后侦听端口,如下所示:
sockaddr_in sockAddr;
sockAddr.sin_family = AF_INET;
sockAddr.sin_port = htons(80);
sockAddr.sin_addr.S_un.S_addr = INADDR_ANY; // use default
Run Code Online (Sandbox Code Playgroud)
这种套接字结构是否允许外部、内部和环回 IP 地址连接到我?
我不想通过将我的计算机外部地址(即:122.215.214.3)代替 INADDR_ANY 来限制可以与我通信的 IP 地址,因为这样内部 IP 就无法连接。
我想知道 INADDR_ANY 是否会与我计算机的所有 3 个 IP 地址(外部、内部、环回)绑定。
我正在使用VS2012,我不能在我的程序中执行一个线程而不会崩溃.应该注意,我的程序包含OpenGL和SOIL.
我只是在我的一个函数中调用一个空白线程,一个没有语句的函数,它立即崩溃:
void service(){
}
/* Connect to server */
void connectToServer(){
cout << "~CLIENT~\n" << endl;
std::thread serverConnect(service);
}
Run Code Online (Sandbox Code Playgroud)
当程序调用connectToServer()它时,它会在call语句中std::thread serverConnect(service);使用以下调用栈中断:
msvcr110.dll!_crt_debugger_hook(int _Reserved) Line 60 C
msvcr110.dll!_call_reportfault(int nDbgHookCode, unsigned long dwExceptionCode, unsigned long dwExceptionFlags) Line 152 C++
msvcr110.dll!abort() Line 90 C
msvcr110.dll!terminate() Line 96 C++
IRC.exe!connectToServer() Line 449 C++
IRC.exe!handleKeypress(unsigned char key, int x, int y) Line 936 C++
glut32.dll!1000e054() Unknown
[Frames below may be incorrect and/or missing, no symbols loaded for glut32.dll]
glut32.dll!1000d5de() Unknown …Run Code Online (Sandbox Code Playgroud) 我的register.php不会查询最简单的查询:
<?php
session_start();
/* Connect and Query database "accounts", then close connection */
$connection=mysql_connect("localhost","root","");
if (!$connection)
{
die('Cannot connect to MySQL. Error: ' . mysql_error());
}
$check_database = mysql_select_db("accounts", $connection);
if (!$check_database)
{
die('Cannot connect to database. Error: ' . mysql_error());
}
/* Query database to save user's post */
/* If field "repostid=0", then the post is not a repost; if the field "repostid>0", then the post is a repost with the field linking to the id …Run Code Online (Sandbox Code Playgroud)