小编Ton*_*y R的帖子

简单的OpenGL纹理贴图不起作用?

我试图找出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)

更新:我不知所措.这是我尝试过的一切: …

c++ opengl textures

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

单身人士的好例子?

我有一个应用程序,有几个类用于存储应用程序范围的设置(资源的位置,用户设置等).现在这些类只是充满了静态字段和方法,但我从来没有实例化它们.

有人建议我让他们成为单身人士,这是/反对的情况是什么?

java singleton static

7
推荐指数
2
解决办法
1841
查看次数

你能用JSTL c:if来测试网址模式吗?

我正在尝试使用当前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)

有没有办法做到这一点?

url jsp jstl el

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

投射到LPCWSTR?

我正在尝试创建一个(非常)简单的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)

c windows unicode winapi

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

使用JQuery检查元素是否有边框?

所以我正在玩$(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总是等于"".

有没有更优雅的方式来做到这一点?

html javascript css jquery border

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

非常简单的自定义taglib功能无法正常工作

我正在敲打为什么我的自定义taglib功能不起作用.这个例子是使用Math.cosMath.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)

java tags jsp taglib

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

SwapBuffers使我的程序崩溃!

我有一个可以在我的所有计算机上运行的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)

c++ opengl winapi

5
推荐指数
0
解决办法
3735
查看次数

如何从Tomcat root获取欢迎页面,而不是webapp上下文?

在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文件夹.

eclipse indexing tomcat servlets

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

Ruby流tar/gz

基本上我想将内存中的数据流转换为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的饼干!

ruby gzip stream tar

5
推荐指数
1
解决办法
4192
查看次数

如何检查元素是否是正文?

从chrome控制台:

var body = $("body");
=>  undefined
body
=>  [<body class=?"ask-page">?…?</body>?]
body.tagName
=>  undefined
body.nodeName
=>  undefined
Run Code Online (Sandbox Code Playgroud)

所以,如果我有元素参考,我怎么知道它是否是身体?

(欢迎JQuery!)

html javascript tags jquery

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

标签 统计

c++ ×2

html ×2

java ×2

javascript ×2

jquery ×2

jsp ×2

opengl ×2

tags ×2

winapi ×2

border ×1

c ×1

css ×1

eclipse ×1

el ×1

gzip ×1

indexing ×1

jstl ×1

ruby ×1

servlets ×1

singleton ×1

static ×1

stream ×1

taglib ×1

tar ×1

textures ×1

tomcat ×1

unicode ×1

url ×1

windows ×1