草庐IT

OpenGL-ES

全部标签

c++ - OpenGL:如何控制我的窗口将使用哪种缓冲方法?

我想让用户能够选择双缓冲和三缓冲,因为在某些卡(或操作系统?)上默认启用三缓冲,这会导致一些性能问题。我该怎么做? 最佳答案 您不能从OpenGL本身执行此操作,因为OpenGL仅处理绘图调用等。您需要为此使用供应商特定的调用。在Windows中,有用于处理上下文创建等的WGL。 关于c++-OpenGL:如何控制我的窗口将使用哪种缓冲方法?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

【elasticsearch】elasticsearch es读写原理

一、前言:今天来学习下es的写入原理。Elasticsearch底层使用Lucene来实现doc的读写操作:Luence存在的问题:没有并发设计lucene只是一个搜索引擎库,并没有涉及到分布式相关的设计,因此要想使用Lucene来处理海量数据,并利用分布式的能力,就必须在其之上进行分布式的相关设计。非实时将文件写入lucence后并不能立即被检索,需要等待lucene生成一个完整的segment才能被检索数据存储不可靠写入lucene的数据不会立即被持久化到磁盘,如果服务器宕机,那存储在内存中的数据将会丢失不支持部分更新lucene中提供仅支持对文档的全量更新,对部分更新不支持。例如:对文档

c++ - 在 OpenGL 中使用过剩的 vsync 问题

我拼命地想让Vsync在我的OpenGL应用程序中工作。这是重要的统计数据:我使用的是Windows,使用C++OpenGL进行编码,并且我将FreeGLUT用于我的OpenGL上下文(双缓冲)。我知道要让交换缓冲区在Windows中等待垂直同步,您需要调用wglSwapIntervalEXT()。我的代码确实调用了它(正如您将在下面看到的),但我仍然在垂直撕裂。我设法阻止它的唯一方法是调用glFinish(),这当然会带来显着的性能损失。我的main()函数的相关部分如下所示://InitiatingglutwindowglutInit(&argc,argv);glutInitDis

c++ - 如何在运行时将编辑样式更改为 ES_NUMBER?

创建编辑控件时,我没有添加ES_NUMBER。后来基于bool标志,我想更改样式并使其成为ES_NUMBER并将其恢复为bool标志的其他值。 最佳答案 documentation有答案。部分摘录:TocreateaneditcontrolusingtheCreateWindoworCreateWindowExfunction,specifytheEDITclass,appropriatewindowstyleconstants,andacombinationofthefollowingeditcontrolstyles.After

windows - Windows 上的 OpenGL SDK

我正在尝试编写一个OpenGL应用程序,所以我安装了Windows7SDK。但是,它似乎是OpenGL1.1...#defineGL_VERSION_1_11如何找到我安装的OpenGL版本(*.dll)以及在哪里可以找到较新的*.lib/*.h文件? 最佳答案 Microsoft已经有一段时间没有更新他们的OpenGL头文件/库了。要使用更新的功能,您通常需要使用GLEW或GLEE. 关于windows-Windows上的OpenGLSDK,我们在StackOverflow上找到一个类

windows - win32/opengl 和回调函数.. 它们的结构如何?

我正在从事涉及openGL的win32c/cpp项目。我刚刚开始,有一些关于标准win32程序如何工作的基本问题。按照教程,我让winmain创建一个新窗口,为该窗口启用openGL,然后进入主循环,如果有消息,程序将处理它们,否则,程序将继续绘制openGL动画。之后,我简单地关闭了openGL并销毁了窗口。我对这里发生的事情并不太困惑,但这是我迷路的地方:LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam){switch(message){caseWM_CREATE:return0;caseWM

c - SDL+OpenGL 在 linux 下工作但在 windows 下不工作,不是编译器/链接器问题

好吧,关于我一直从事的项目,我遇到了一个非常奇怪的问题。该项目是一个3D引擎(分别使用SDL和openGL进行输入处理和图形处理)。在过去的几个月里,我一直在linux(Ubuntu10.10)中从事这个项目,最近决定将代码移植到Windows7环境中。我选择SDL的主要原因之一是它独立于操作系统处理窗口创建,这意味着从一个操作系统移植到另一个操作系统应该相当简单。我在编译或链接时没有遇到问题,问题是完全相同的代码显然没有理由以两种完全不同的方式运行。首先,一个差异的可视化示例:http://i.stack.imgur.com/RNcCs.jpg它不应该这样看,首先左下角的紫色revt

windows - 具有不同刷新率的 OpenGL 多头 vsync

如何使用OpenGL(在Windows7上)以不同的分辨率和刷新率驱动多个显示器(多显示器)并且仍然能够在设备之间共享纹理?我有一个多头GPU。它驱动4个磁头。(它恰好是AMDFireProV7900,以防万一。)头都共享一个“场景”(顶点和纹理数据等),但我想每次在显示器上发生垂直同步时渲染这个场景(每个头本质上是一个不同的视口(viewport))。但要注意的是,不同的头部可能具有不同的刷新率。例如,有些显示器可能为60Hz,有些可能为30Hz,有些可能为24Hz。当我调用SwapBuffers调用block,所以我无法判断下一个需要渲染哪个头。我希望得到像Direct3D9的ID

c++ - 什么可能导致 OpenGL 在 "Start Debugging"和 "Start without debugging"选项下表现不同?

我用C++编写了一个3D立体OpenGL程序。我在timeBeginPeriod(1)之后使用timeGetTime跟踪显示中对象的位置。当我使用“开始调试”运行程序时,我的对象在显示器上平滑移动(正如它们应该的那样)。当我使用“开始而不调试”运行程序时,对象偶尔会卡住几次屏幕刷新,然后跳转到新位置。关于可能导致此问题的原因以及如何解决它的任何想法?编辑:如果我单击鼠标按钮运行“不调试启动”,那么在短暂的延迟后似乎可以解决抖动问题。我的应用程序是一个控制台应用程序(我在程序第一次启动时接受了一些参数)。这两个选项之间的窗口焦点可能有所不同吗?当我完成从控制台窗口的输入后,是否有明确的方

ruby - 如何在 Windows 上安装 ruby​​-opengl?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。我在我的windows7x32操作系统上安装了一个一键式ruby​​。尝试按照项目说明安装ruby​​-opengl时link无论我是从ruby​​gems安装还是手动构建,我都会收到以下错误:[dir]/lib/rake/gempackagetask已弃用。改用ruby​​gems/package_task"[dir]/lib/mkrf/rakehelper.rb:44:使用RbConfig而