Java 使用GL11的OpenGL-osx
我在Windows上用Java和OpenGL开发一个游戏,昨天我买了一个新的MacBookPro。 当我将代码从Windows计算机移动到OSX计算机时,我遇到了一个错误,即无法编译着色器。我在互联网上读到,这是因为在OSX中,您必须将ProfileCore转换为true,这只有OpenGL3.2+支持。这是我的问题:对于我的GUI和文本,我使用GL10函数和Slick2D库。当我将我的OpenGL版本设置为3.2,并带有核心配置文件时,游戏运行良好,但我在Slick2D代码上出错Java 使用GL11的OpenGL-osx,java,macos,opengl,shader,lwjgl,Java,Macos,Opengl,Shader,Lwjgl,我在Windows上用Java和OpenGL开发一个游戏,昨天我买了一个新的MacBookPro。 当我将代码从Windows计算机移动到OSX计算机时,我遇到了一个错误,即无法编译着色器。我在互联网上读到,这是因为在OSX中,您必须将ProfileCore转换为true,这只有OpenGL3.2+支持。这是我的问题:对于我的GUI和文本,我使用GL10函数和Slick2D库。当我将我的OpenGL版本设置为3.2,并带有核心配置文件时,游戏运行良好,但我在Slick2D代码上出错 我想知道是
- 我想知道是否有一种方法可以使用核心概要文件而不是3.2运行OpenGL
- 有没有像Slick2D这样的支持OpenGL 3.2的文本库,或者我必须为文本创建自己的纹理图谱和内容支持
- 我没有足够的声誉发表评论,所以我必须写下这篇文章作为回答
核心配置文件是OSX中的一种配置,用于设置使用的OpenGL版本。
https://developer.apple.com/graphicsimaging/opengl/capabilities/
Slick2D应该支持较低的OpenGL版本。我在Linux和Windows上使用了OpenGL 2.1版。我的应用程序也在OSX中运行
尝试核心配置文件版本2.1。在我的测试中,这是与PC(和Mac)最兼容的版本
我不完全理解你的第二个问题。你在找替代引擎吗?
我可以推荐libGDX用于使用Java的跨平台游戏开发。()
如果您对非Java游戏引擎持开放态度,那么当然可以使用Unity3D。那实际上是不正确的。核心概要文件是一个OpenGL特性,而不是OSX特有的特性。OpenGL配置文件刚刚在GL3.2中引入。因此,没有GL2.1岩心剖面。OSX现在只支持GL2.1之前的传统GL或>=3.2核心配置文件的现代GL,这与较旧的GL版本不向后兼容。@derhass所以基本上你是说我需要在GL 1-2.1或3.2+之间进行选择?@GeorgeClone-y:是的。请注意,开源mesa驱动程序也遵循OSX的示例:它们也仅在核心配置文件中支持现代GL。这实际上完全符合规范,因为只需要核心配置文件,兼容性是可选的。