我正在尝试使用纹理渲染正方形.它正在工作,除了我在对角线边缘上得到一个像素化线,两个三角形相互相遇.
质地:

三个正方形的渲染结果,每个正方形由两个三角形组成:

该线仅显示在对角线上.垂直或水平边缘没有任何东西出现.
码:
import qualified Graphics.Rendering.OpenGL as GL
import qualified Graphics.UI.GLFW as GLFW
Run Code Online (Sandbox Code Playgroud)
初始化:
GL.lineSmooth $= GL.Enabled
GL.polygonSmooth $= GL.Enabled
GL.blend $= GL.Enabled -- A
GL.blendFunc $= (GL.SrcAlpha, GL.OneMinusSrcAlpha)
GL.lineWidth $= 1.5
Run Code Online (Sandbox Code Playgroud)
加载纹理:
GL.texture GL.Texture2D $= GL.Enabled
(texName:_) <- GL.genObjectNames 1
GL.textureBinding GL.Texture2D $= Just texName
GL.textureFilter GL.Texture2D $= ((GL.Nearest, Nothing), GL.Nearest)
_ <- GLFW.loadTexture2D "wall.tga" [GLFW.BuildMipMaps]
Run Code Online (Sandbox Code Playgroud)
渲染四边形:
GL.textureBinding GL.Texture2D $= Just texName
GL.renderPrimitive GL.TriangleStrip $ do
GL.texCoord $ GL.TexCoord2 0 (1::GL.GLfloat)
GL.vertex $ vertex3 20 0 0 …Run Code Online (Sandbox Code Playgroud) 在GLFW 常见问题解答中,第 2.9 项说明:
[...]强烈建议所有 OpenGL 和 GLFW 调用 (线程管理和同步调用除外)都从主线程进行,这应该不是什么大问题,因为只支持单个窗口。这种方法也兼容GLFW的未来方向。
重点是我的。
那么,主线程和其他线程有什么区别呢?
我正在使用maven和NetBeans.我能够部署并运行我的应用程序.但现在它抛出一个错误:
部署期间发生错误:部署应用程序时出现异常[portal-ear-1.4-SNAPSHOT]:无法找到application.xml中定义的子模块[portal-service-ejb-1.4-SNAPSHOT.jar].
当我去目标/ portal-ear-1.4-SNAPSHOT我可以看到portal-service-ejb-1.4-SNAPSHOT.jar但是它仍然引发了我这个错误.
我的application.xml:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" version="6">
<display-name>e2e-portal-ear</display-name>
<module>
<web>
<web-uri>portal-war-1.4-SNAPSHOT.war</web-uri>
<context-root>/portal</context-root>
</web>
</module>
<module>
<ejb>portal-repository-ejb-1.4-SNAPSHOT.jar</ejb>
</module>
<module>
<ejb>portal-service-ejb-1.4-SNAPSHOT.jar</ejb>
</module>
<library-directory>lib</library-directory>
</application>
Run Code Online (Sandbox Code Playgroud) 我上课了
public class Targets {
public int[] miniTargets;
public Targets(int t) {
miniTargets = new int[t];
for (int i = 0; i < t; i++) {
miniTargets[i] = t;
}
}
}
Run Code Online (Sandbox Code Playgroud)
而且我想要计算miniTargets我Targets收藏的数量,但我坚持flatMap:
public class App {
public static void main(String[] args) {
List<Targets> lst = new ArrayList<Targets>();
lst.add(new Targets(5));
lst.add(new Targets(15));
lst.add(new Targets(25));
int cnt = (int)lst.stream().map(tg -> tg.miniTargets).flatMap(...).count()
System.out.println(cnt);
}
}
Run Code Online (Sandbox Code Playgroud) opengl ×2
c ×1
deployment ×1
glassfish ×1
glassfish-3 ×1
glfw ×1
haskell ×1
java ×1
java-8 ×1
java-stream ×1
maven ×1
netbeans ×1