我试图找出OpenGL中的纹理映射,我无法得到一个简单的例子.
正在绘制多边形,虽然它没有纹理,只是纯色.此位图正在正确加载到sprite1 []中,因为我现在已成功使用glDrawPixels.
我使用glGenTextures来获取我的tex名称,但我注意到它不会改变texName1; 即使在调用glGenTextures之后,这个GLuint也是我初始化它的任何东西......
我启用了GL_TEXTURE_2D.
下面是代码:
GLuint texName1 = 0;
glGenTextures(1, &texName1);
glBindTexture(GL_TEXTURE_2D, texName1);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glTexImage2D(GL_TEXTURE_2D, 0, GL_BGRA_EXT, sprite1[18], sprite1[22], 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, &sprite1[54]);
glColor3f(1, 1, 0);
glBindTexture(GL_TEXTURE_2D, texName1);
glBegin(GL_QUADS);
glTexCoord2f (0.0, 0.0);
glVertex3f (0.0, 0.0, -5.0f);
glTexCoord2f (1.0, 0.0);
glVertex3f (.5, 0.0, -5.0f);
glTexCoord2f (1.0, 1.0);
glVertex3f (.5, .5, -5.0f);
glTexCoord2f (0.0, 1.0);
glVertex3f (0.0, .5, -5.0f);
glEnd();
Run Code Online (Sandbox Code Playgroud)
更新:我不知所措.这是我尝试过的一切: …
我有一个应用程序,有几个类用于存储应用程序范围的设置(资源的位置,用户设置等).现在这些类只是充满了静态字段和方法,但我从来没有实例化它们.
有人建议我让他们成为单身人士,这是/反对的情况是什么?
我正在尝试使用当前URL运行的JSP条件.基本上我想做一些事情,如果URL结束/my-suffix,不包括查询字符串等.所以我需要测试中间的url的子字符串.
<c:if test="url not including query string+ ends with '/my-suffix'">
do something...
</c:if>
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
我正在尝试创建一个(非常)简单的Win32 GUI程序,但由于某种原因,编译器(我使用的是VC++ 2008 Express)希望我手动将每个字符串或char*强制转换为LPCWSTR:
我每次执行此操作时都会收到此编译器错误,例如,我为"Hello"和"Note"收到此错误:
错误C2664:'MessageBoxW':无法将参数2从'const char [22]'转换为'LPCWSTR'
请告诉我,每次我这样做都不需要施展......
这是代码:
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
MessageBox(NULL, "Hello", "Note", MB_OK);
return 0;
}
Run Code Online (Sandbox Code Playgroud) 所以我正在玩$(el).css(),试图确定一个元素是否有边框.我.css("border-style", "solid")用来设置边框,它有效,但实际上它设置了4个单独的样式:
border-right-style
border-left-style
border-top-style
border-bottom-style
Run Code Online (Sandbox Code Playgroud)
因此,检查边框有点麻烦,因为您必须执行以下操作:
if ($(el).css("border-right-style") == "solid" && $(el).css("border-left-style") == "solid" && ...) {}
Run Code Online (Sandbox Code Playgroud)
简单地检查$(el).css("border-style") != ""不起作用,因为border-style总是等于"".
有没有更优雅的方式来做到这一点?
我正在敲打为什么我的自定义taglib功能不起作用.这个例子是使用Math.cos和Math.sin.
这是班级:
package foo.tags;
public class Math {
public java.lang.Double cos(java.lang.Double value) {
return java.lang.Math.cos(value);
}
public java.lang.Double sin(java.lang.Double value) {
return java.lang.Math.sin(value);
}
}
Run Code Online (Sandbox Code Playgroud)
这是.tld文件:
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>2.0</tlib-version>
<uri>/WEB-INF/tags/math.tld</uri>
<function>
<name>cos</name>
<function-class>foo.tags.Math</function-class>
<function-signature>java.lang.Double cos(java.lang.Double)</function-signature>
</function>
<function>
<name>sin</name>
<function-class>foo.tags.Math</function-class>
<function-signature>java.lang.Double sin(java.lang.Double)</function-signature>
</function>
</taglib>
Run Code Online (Sandbox Code Playgroud)
调用代码的重要摘要:
<%@ taglib prefix="math" uri="/WEB-INF/tags/math.tld" %>
<span>${math:sin(180)}</span>
Run Code Online (Sandbox Code Playgroud)
我在行上得到一个空指针异常math:sin(180).有谁看到我做错了什么?如果需要更多信息,请告诉我,但异常本身并不是非常有用.
这是堆栈跟踪:
Mar 17, 2013 2:27:14 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Foo] in context with path [/Foo] threw …Run Code Online (Sandbox Code Playgroud) 我有一个可以在我的所有计算机上运行的OpenGL程序,但只有一台。这是一台装有Vista 64和Radeon HD4850的台式机。问题似乎出在我对SwapBuffers(hdc)的调用中。
它编译良好,然后给了我一个例外:
Program.exe中0x00000000处未处理的异常:0xC0000005:访问冲突。
在调用SwapBuffers之前,使用VC ++中断显示hdc的值为:
0xfe011734 {unused = ???} CXX0030:错误:无法评估表达式
有人知道会发生什么吗?关于SwapBuffers的东西会从一台PC更改为另一台PC吗?我已经将其用于XP32,XP64和(不同的)Vista64。
while (!quit)
{
if (PeekMessage(&msg, NULL, NULL, NULL, PM_REMOVE))
{
if (msg.message == WM_QUIT)
quit = true;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
renderFrame(); //draws the scene
SwapBuffers(hdc);
if (GetAsyncKeyState(VK_ESCAPE))
shutdown();
think(); //calculates object positions, etc.
}
Run Code Online (Sandbox Code Playgroud)
有问题的系统(HD4850)上的驱动程序是最新的。我已经在具有Radeon HD4870的另一个Vista64系统上运行并编写了该程序,该驱动程序也具有最新的驱动程序。据我所知,这两张卡的驱动程序几乎与HD48xx系列中的相同。因此,GPU引起问题似乎很奇怪。
无论如何,我是错了还是这是一个内存问题?(访问冲突)
另外,如果我删除对SwapBuffers(hdc)的调用,则程序看起来运行良好,尽管没有画任何内容,因为帧缓冲区从未交换过。但这至少是稳定的。
调用堆栈(->是堆栈ptr):
ATKOGL32.dll!6aef27bc()
opengl32.dll!665edb2d()
opengl32.dll!665f80d1()
gdi32.dll!75e14104()
-> MyProg.exe!WinMain(HINSTANCE__ * hinstance=0x009a0000, HINSTANCE__ * hprevinstance=0x00000000, char * lpcmdline=0x003b4a51, int nshowcmd=1) Line 259 + 0xe bytes
MyProg.exe!__tmainCRTStartup() Line 578 + 0x35 bytes
MyProg.exe!WinMainCRTStartup() …Run Code Online (Sandbox Code Playgroud) 在Tomcat 7中,我希望在访问localhost时加载欢迎页面(index.html):8080 /.现在,我必须转到webapp上下文localhost:8080/MyWebApp.
Tomcat中是否有一个文件夹用于放置不属于webapp的页面?我很困惑这是如何工作的......
编辑:我注意到Eclipse中的Server的web.xml有一个名为"default"的servlet,它被映射到"/"......我想知道我是否必须在这里更改一些内容?
EDIT2:我发现了这个:http://wiki.apache.org/tomcat/HowTo#How_do_I_override_the_default_home_page_loaded_by_Tomcat.3F
但是,我的ROOT文件夹中已经有一个index.html,并且仍然从根URL获得404.如果我在不使用Eclipse的情况下启动服务器,它就能工作.这里发生了什么?Eclipse通过它启动服务器时到底做了什么?显然它没有复制我的安装的ROOT文件夹.
基本上我想将内存中的数据流转换为tar/gz格式(可能是tar中的多个文件,但它永远不应该触及HARDDRIVE,只能流式传输!),然后将它们传输到其他地方(在我的情况下是HTTP请求体).
有人知道现有的库可以做到这一点吗?Rails中有什么东西吗?
libarchive-ruby只是一个C包装器,看起来它非常依赖于平台(文档希望你编译为安装步骤?!).
解:
require 'zlib'
require 'rubygems/package'
tar = StringIO.new
Gem::Package::TarWriter.new(tar) { |writer|
writer.add_file("a_file.txt", 0644) { |f|
(1..1000).each { |i|
f.write("some text\n")
}
}
writer.add_file("another_file.txt", 0644) { |f|
f.write("some more text\n")
}
}
tar.seek(0)
gz = Zlib::GzipWriter.new(File.new('this_is_a_tar_gz.tar.gz', 'wb')) # Make sure you use 'wb' for binary write!
gz.write(tar.read)
tar.close
gz.close
Run Code Online (Sandbox Code Playgroud)
而已!您可以将GzipWriter中的文件替换为任何IO以保持其流式传输.dw11wtq的饼干!
从chrome控制台:
var body = $("body");
=> undefined
body
=> [<body class=?"ask-page">?…?</body>?]
body.tagName
=> undefined
body.nodeName
=> undefined
Run Code Online (Sandbox Code Playgroud)
所以,如果我有元素参考,我怎么知道它是否是身体?
(欢迎JQuery!)