Articles of macos

在Mac OS 10.10上设置OpenGL,同时保持跨平台

我主要在快板游戏编程方面有经验,或者在本地窗口绘制所有东西(没有graphics库)。 现在我对学习OpenGL游戏开发感兴趣。 我发现了几个OpenGL教程,但现在我只想设置我的环境,这样我就可以打开窗口并绘制它们。 我使用的是Mac OS,但是我非常希望将所有的代码作为跨平台的代码,所以我想知道如何设置(下载,安装,制作hello world类的东西)在Mac上的OpenGL ,但最好不使用Xcode或苹果取决于东西。 我已经检查过,看看我的mac是否支持较新的OpenGL,所以我会尝试使用最新的标准。 我可以写makefiles来链接库,这种types的东西通常是Xcode为了便于携带而做的。 我一直在想,在创建一个主要跨平台的游戏时,是否需要总是写一些特定于平台的代码?我的猜测是我会的,但我想尽量减less它。 无论如何,我想知道你对我的建议。 我希望我的问题很明确,但是可以随时询问你可能需要知道的任何细节。

OpenGL Core 3.2 framebuffer在Mac OSX上呈现黑色

我正试图在一个使用FBO的跨平台庄园中获得一个2路后处理系统。 我开始在Mac OSX的开发(因为在过去,我发现它是最有工作的Windows / Linux / OSX的挑剔),我有一个切换使用FBO(后处理),而不是。 着色器正在工作,但FBO似乎没有加载绑定到它的纹理单元。 以下是FBO的init代码及其纹理: glGenTextures(1,&fboimg); glBindTexture(GL_TEXTURE_2D,fboimg); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 512, 512, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0); glBindTexture(GL_TEXTURE_2D, 0); glGenFramebuffers(1,&fboHandle); glBindFramebuffer(GL_FRAMEBUFFER,fboHandle); glFramebufferTexture2D(GL_FRAMEBUFFER,GL_COLOR_ATTACHMENT0,GL_TEXTURE_2D,fboimg,0); GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); switch(status) { case GL_FRAMEBUFFER_COMPLETE: cout<<"The fbo is complete\n"<<endl; break; case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: cout<<"GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT\n"<<endl; break; case […]

我的基于iOS的编辑器可以保存我的Mac游戏可以读取的.plist文件吗?

我想在iOS上编辑一个将触摸位置logging到文件中的编辑器。 该文件( .plist格式)最终将用于我的Mac连接点游戏中的位置。 我可以从iOS应用程序保存一个.plist文件到我的Mac吗?

“Temp / bin / Debug”中缺lessUnity程序集文件

我试图在Unity和C#上的Mac上使用VS代码。 当我尝试在VS代码中打开一个Unity项目时,无法从.csproj文件中默认定义的几个位置加载Assembly .dll *文件; “Temp \ bin \ Debug \” 。 当我检查* Temp \ bin \ Debug *path,而Unity正在运行时,它们是空的; 他们不包含程序集文件,我认为他们应该。 这些文件在“Library / ScriptAssemblies”中 。 移动它们不是一种select,因为每次我改变某种东西时我都必须手动做到这一点。 在任何脚本文件中。 在.csproj文件中更改path也不是一个好主意,因为每次在Unity中打开项目时都会重写这些文件。 这个问题在编辑器中导致很多问题: [警告:OmniSharp#MSBuild]无法parsing程序集'/[…]/Temp/bin/Debug/Assembly-CSharp-firstpass.dll' [INFORMATION:OmniSharp#MSBuild]更新项目:Assembly-CSharp-Editor-firstpass [警告:OmniSharp#MSBuild]无法parsing程序集'/[…]/Temp/bin/Debug/Assembly-CSharp-firstpass.dll' [信息:OmniSharp#MSBuild]更新项目:Assembly-CSharp-Editor [警告:OmniSharp#MSBuild]无法parsing程序集'/[…]/Temp/bin/Debug/Assembly-CSharp-Editor-firstpass.dll' [警告:OmniSharp#MSBuild]无法parsing程序集'/[…]/Temp/bin/Debug/Assembly-CSharp-firstpass.dll' 来自我的自定义脚本和UnityEngine名称空间的所有types引用都缺失,并突出显示为错误: 但是,intellisense似乎对UnityEnginetypes正常工作: 我试着重新安装MonoDevelop几次,包括一个brew和可下载的软件包。 MonoDevelop似乎安装正确: $ mono –version Mono JIT compiler version 4.6.2 (mono-4.6.0-branch/ac9e222 Wed Dec 14 17:02:09 EST 2016) Copyright (C) 2002-2014 […]

如何将.obj文件转换为Mac上的.3ds?

我在Mac上。 我目前正在寻找一个能够正确转换.obj文件(Wavefront)到.3ds文件(Autodesk 3ds Max)的工具。 我尝试了搅拌机,但导出的文件没有包含平滑组。 你推荐我用什么?

如何从长期任务中释放GPU?

我正在开发一个使用GPU的应用程序。 有些任务可能会相当长(像循环中的片段着色器)。 我的印象是,我可以让整个操作系统视觉冻结,要求GPU执行一项不会结束的工作。 当然,我并不是故意这样做的,但是当意外发生时,我不得不强制closures我的机器,这很难debugging。 一些问题: 这种行为是否正常? 或者这可能是硬件或驱动程序中的错误? 有没有强制停止我的机器从这个恢复的技术? 由于操作系统仍然在运行(只是没有渲染),我可以尝试SSH入我的机器,并杀死进程。 将这个GPU从工作中解放出来吗? 更新:我试图SSH入我的机器和sudo kill -9 *pid* ,但没有奏效。 我想知道是否有一个操作系统无关的答案。 如果没有,我的设置是macOS,OpenGL(运行在Intel HD Graphics 3000上)。

开发健壮的跨平台应用程序的最佳途径?

可能重复: 有关创建跨平台游戏的任何提示? Windows C程序员在这里(回到1992年,Windows95被称为Windows93)。 可以在C ++中运行,但大多仍然是C程序员。 期待构建一个跨平台的休闲游戏。 只有less数几个艺术装饰和animation,数字很重,所以商业应用程序的开发环境也许是最好的select。 或者一个易于使用的2D游戏开发平台。 目标平台:Windows,Mac,MS Tablet,iPhone,iPad,Android。 我目前使用Visual Studio 2012在Windows上开发,但如果需要,我们可以在硬件/软件/中间件上花费高达5万美元。 获得开放源代码软件的能力不足。 宁愿付钱,直接进入应用程序开发。 建议?

使用localGraphicsConfig创建透明图像不总是工作

我试图使用GraphicsConfiguration.createCompatibleImage来创建透明的图像。 这将创建一个空的图像,我将在后面的代码中填充马赛克图案。 这似乎像使用最新的OSX我的iMac魅力。 当我切换(bootcamp)到Windows 7,透明度不起作用(只是不透明的图像)。 有什么我失踪? 我在Windows 7上使用Java 1.7.0_03(64) 我其实不太清楚是否有必要使用localGraphicsConfiguration来渲染图像,因为马赛克的图像/图层将永远不会改变。 我该如何解决这个问题?

在Mac中使用ndk编译irrlicht android时出错

我是新来irrlicht,我已经开始与irrlicht Android端口。 我对android.mk文件做了如下修改: LOCAL_CFLAGS := -O3 -DANDROID_NDK -DDISABLE_IMPORTGL -I./../include/ -I./include/ -I/documents/karthik/android/android-ndk-r9/platforms/android-18/arch-arm/usr/include LOCAL_LDLIBS := -L/documents/karthik/android/android-ndk-r9/platforms/android-14/arch-arm/usr/lib/libGLESv1_CM.so -ldl -llog -L/documents/karthik/android/android-ndk-r9/platforms/android-14/arch-arm/usr/lib/libGLESv1_CM.so 我已经尝试编译在terminal使用ndk-build编译irrlicht android。它首先显示以下错误: In static member function 'static void irr::os::Printer::log(const c8*, irr::ELOG_LEVEL)': error: format not a string literal and no format arguments [-Werror=format-security] In static member function 'static void irr::os::Printer::log(wchar_t const*, irr::ELOG_LEVEL)': error: format not a string literal and […]

高效地在OS X上呈现平铺的地图

我正在Swift中编写一个原始(自上而下)的SimCity克隆,并尝试使用SpriteKit作为游戏的基础。 但是,在渲染和animation显示城市地图的瓦片地图时,我遇到了性能问题。 我正在绘制一个44×44的瓷砖地图,每个瓷砖是16×16像素。 平铺animation可以发生在任何任意的平铺上,并且通过对于animation的每个帧具有单独的图像来实现。 地图是dynamic的(自然地),因为玩家可以在地图上绘制地图,而地图可以是animation的(道路等)。 我已经尝试了几个实现来渲染地图的屏幕,每个都有自己的性能问题。 我试过了: 每个图块都是一个SKSpriteNode ,其纹理是从纹理图集加载的。 纹理被换成脏的瓷砖(需要重绘)。 我禁用了节点上的物理模拟和物理实体。 优点: 最小的绘制(由于纹理地图集) 代码不是很复杂 缺点: 重新绘制整个地图毁坏了性能 将纹理交换为animation是效率低下的 地图是使用NSView , drawRect等渲染的 优点: 绘图相对高效 肮脏的矩形图很容易实现 缺点 不太适合animation(真的不好performance) 我的问题是:什么是渲染/animation我的瓷砖地图最有效的方式? 有一个优化,我可以使SpriteKit加快? 还是我需要使用较低级别的(OpenGL / GLSL)来高效绘制/animation地图? 任何帮助将不胜感激!