OS:OSX Mountain Lion。 系统:Virtual BOX 4.2.6。 Java:1.7.0.40-ea-b34 我想为我的JAVAFX应用程序禁用硬件加速,因为我的系统(mac)没有硬件加速。 所以,当没有硬件加速,我正在执行我的JAVAFX应用程序的致命错误。 与“Prism引擎pipe道”有关的错误,当java尝试执行openGL原生库时发生。 所以我想禁用棱镜。 我看到有一些vm args控制棱镜行为,如.. Dprism.forceGPU = true; 有没有什么像上面禁用棱镜或OpenGL请求? 致命错误(openGl相关代码) Stack: [0x000000016c8f9000,0x000000016c9f9000], sp=0x000000016c9f7f40, free space=1019k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [libobjc.A.dylib+0x639f] objc_msgSend_fixup+0x5f C [AppKit+0x28134c] -[NSOpenGLContext initWithFormat:shareContext:]+0xac C [libprism-es2.dylib+0x4e9f] createContext+0x1b3 C [libprism-es2.dylib+0x4729] Java_com_sun_prism_es2_gl_mac_MacGLFactory_nInitialize+0xa2 j com.sun.prism.es2.gl.mac.MacGLFactory.nInitialize([I)J+0 j com.sun.prism.es2.gl.mac.MacGLFactory.initialize(Ljava/lang/Class;Lcom/sun/prism/es2/gl/GLPixelFormat$Attributes;)Z+73 j com.sun.prism.es2.ES2Pipeline.<clinit>()V+54
我想在第三方全屏Windows应用程序的顶部显示一些自定义graphics。 你玩过任何Steam游戏吗? 它有一个可执行的GameOverlayUI.exe,可以让你从游戏中访问Steam窗口。 (GUI元素看起来是自定义的,我不知道这是否是必需的,但是在桌面上它们看起来和游戏完全一样)。它甚至可以使游戏graphics变暗的背景。 我想知道如何去写这样的应用程序。 我也想知道解决scheme的范围有多广泛。 你可以使用所有的OpenGL应用程序的一种方法? 对于所有Direct3D减去DirectDraw应用程序? 对于所有全屏Windows应用程序? 我正在寻找更多的“现代”和通用的解决scheme – 覆盖命令提示符或320×240索引的颜色应用程序不是一个问题。 编辑:一些澄清:全屏应用程序不是我的。 它可以是任何东西。 最有可能的,这将是一个3D游戏。 我想在屏幕的右下angular显示数字时钟,在游戏graphics的顶部。 如果可能,我想避免诸如注入代码或debugging过程等技巧。
我已经根据以下概念在OpenGL中实现了遮罩: 面具由黑色和白色组成。 前景纹理只能在蒙版的白色部分可见。 背景纹理应该只在遮罩的黑色部分可见。 我可以使用glBlendFunc()来设置白色部分或黑色部分,但不是同时使用这两个部分,因为前景层不仅可以混合到蒙版上,还可以混合到背景层上。 有没有人知道如何以最好的方式完成这个任务? 我一直在寻找networking并阅读有关片段着色器的内容。 这是要走的路吗?
C#有免费的OpenGL支持库吗? 如果是这样,我使用哪一个,哪里可以find示例项目? C#提供OpenGL的类吗?
我有2个旋转matrix(让我们叫他们A和B)在哪里: A = 1 0 0 0 0 -1 0 1 0 和 B = -1 0 0 0 0 -1 0 -1 0 这基本上只是一个旋转的地方,相机旋转后面看自己。 显然,我不能直接插入matrix中的值,因为它看起来很奇怪。 我已经尝试将matrix转换为欧拉angular,产生2组X,Y,Zangular,并基于X,Y,Zangular的每个分量之间的最小距离来尝试确定使用哪个angular度。 这肯定会导致我想要的旋转types,但我想不出一个体面的方式来确定哪个angular度插入之间,因为有时导致错误最less的angular度集导致围绕错误的轴/轴的旋转。 我也试过四元数,但基本上给了我相同的结果。 任何人都可以指向正确的方向吗?
我已经看到在OpenGL VBO实现中使用下面的macros: #define BUFFER_OFFSET(i) ((char *)NULL + (i)) //… glNormalPointer(GL_FLOAT, 32, BUFFER_OFFSET(x)); 你能否提供一些关于这个macros如何工作的细节? 它可以被replace为一个function? 更确切地说,增加一个NULL指针的结果是什么?
我有一个使用DirectX和OpenGL的渲染器和一个3D场景。 视口和窗口具有相同的尺寸。 我如何实现以平台独立的方式select给定的鼠标坐标x和y?
我绘制了一个有10000个顶点(100×100)的三angular形网格,这将是一个草地。 我使用gldrawelements()。 我看了整天,仍然不明白如何计算这个法线。 每个顶点都有自己的法线,还是每个三angular形都有自己的法线? 有人可以指导我如何编辑我的代码,以正确的方向? struct vertices { GLfloat x; GLfloat y; GLfloat z; }vertices[10000]; GLuint indices[60000]; /* 99..9999 98..9998 …….. 01..9901 00..9900 */ void CreateEnvironment() { int count=0; for (float x=0;x<10.0;x+=.1) { for (float z=0;z<10.0;z+=.1) { vertices[count].x=x; vertices[count].y=0; vertices[count].z=z; count++; } } count=0; for (GLuint a=0;a<99;a++){ for (GLuint b=0;b<99;b++){ GLuint v1=(a*100)+b;indices[count]=v1;count++; GLuint v2=(a*100)+b+1;indices[count]=v2;count++; GLuint […]
我想了解OpenGL坐标系。 不过,有些教程说默认的坐标系是左撇子的(参见http://www.c-sharpcorner.com/UploadFile/jeradus/OpenGLBasics11172005014307AM/OpenGLBasics.aspx ),而其他人则说这是右撇子(参见http:// www .falloutsoftware.com / tutorials / gl / gl0.htm )。 哪个是对的? 我明白,我们可以通过镜像转换到另一个,但我想知道默认的坐标。
我有一个程序模拟随时间变化的物理系统。 我希望以预定的时间间隔(比方说每10秒钟)将一个模拟状态的可视化输出到一个文件中。 我想这样做,很容易“closures可视化”,而不是输出可视化。 我正在研究OpenGL和GLUT作为graphics工具来进行可视化。 然而,问题似乎是,首先,它看起来只是输出到一个窗口,不能输出到文件。 其次,为了生成可视化,您必须调用GLUTMainLoop并停止主函数的执行 – 从此开始调用的唯一函数是来自GUI的调用。 但是我不希望这是一个基于GUI的应用程序 – 我希望它只是一个从命令行运行的应用程序,它会生成一系列图像。 有没有办法在GLUT / OpenGL中做到这一点? 或者是OpenGL完全是错误的工具,我应该使用别的东西