- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试通过制作 minecraft 克隆来学习 OpenGL 和 LWJGL,但我被卡住了
我能够轻松地渲染方 block 并拥有带 wasd 控件的第一人称相机,现在我正在尝试能够放置方 block ,但我不知道如何才能检查哪个立方体和哪一面我正在查看的那个立方体/位于屏幕中央,因此我可以将另一个立方体放在该立方体旁边。
我正在使用 gluPerspective 进行 3d 透视,并使用 glRotatef 来旋转世界,非常正常的东西
最佳答案
一种技术是使用 id 缓冲区。您使用帧缓冲区一次将场景绘制为两个纹理。第一个纹理将是典型的颜色纹理。第二个是存储整数的纹理。在绘制场景之前,您为每个立方体面分配了一个编号。您将这些数字传递给着色器(统一变量适用于此)。片段着色器会将这些数字“绘制”到整数纹理,同时对颜色纹理进行正常着色。当您需要查找鼠标光标处的内容时,请使用 glReadPixels()
。
这一切都是假设您使用的是现代 OpenGL(3 或更好)。如果您受困于固定功能管道(lame),您还可以为每个立方体面分配一个唯一的颜色,并使用纯色绘制到后台缓冲区。确保关闭纹理等。完成后,使用 glReadPixels()
查找在鼠标光标处绘制的内容。然后你像往常一样再次绘制东西并交换缓冲区。 (这里有一些过时的代码显示了我在说什么:http://www.lighthouse3d.com/opengl/picking/index.php3?color1)
另一种技术是通过屏幕“转换光线”。基本上,您针对几何体中的每个形状测试几个方程式,如果这些测试通过,则您有一个交集并且您知道单击了哪个形状。我对这种方法不太熟悉,所以如果他们愿意,我会留给其他人解释。
关于java - 找出立方体的哪一侧位于屏幕中央?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13870254/
我正在尝试向当前的删除功能添加功能。我遇到的问题是,当我单击“删除”时,它会立即删除而不提示。我一直在尝试使用 this question 中的答案添加提示功能. 我的问题是哪种是实现删除功能最有效的
我正在尝试在 iMagick 中执行以下操作,但无法使其正常工作: 检查图像是否超过 390 像素高,如果是,则将其调整为 390 像素高,如果不是保持尺寸。 添加一个白色 Canvas ,宽 300
我想将我的 Logo 居中并让我的主菜单显示在 Logo 的每一侧,我不知道该怎么做,我是否必须创建两个单独的菜单来实现该布局? 非常感谢任何建议。 谢谢!
我正在使用 iosslider但似乎不能一次只在 slider 中显示一张图像。我也在尝试将显示的单个图像居中。这是我对 HTML 的看法: HTML:
我希望有一种方法可以在 Android 设备上以编程方式访问中央可信 keystore 。我知道有一个存在,至少用于验证 SSL 连接等。它还附带一个方便的工具,用于添加证书、浏览等。(在设置->位置
我对蓝牙通信还很陌生。我的第一个项目打算将数据从 iOS 设备传输到 BLEshield(小芯片)。 为了测试我的中央代码,我决定将 iPhone 设置为外围设备(一旦我拿到芯片,芯片将扮演的角色)并
在我的公司,我们使用 composer 构建我们的大部分项目,这意味着我的不同团队会从互联网上下载大量重复的包(相同版本的相同库)。 我试过Satis Composer Server,但问题是缓存不是
我有一个 iOS 应用程序,它是我控制固件的外围设备的核心。类似的 Android 应用程序运行良好,能够连接到外围设备、发现服务、明确绑定(bind)并读取加密特征。 但是,在 iOS 上,Core
我想得到这个结果( Storyboard View ): 但是当我模拟我的应用程序时,我得到了这个结果(没有任何限制) 所以我尝试添加一些约束以使 TableView 居中。但是当我添加任何约束时,T
当我调整浏览器窗口大小时,我的中心 block 一直向左移动 正常: http://imgur.com/b2AVkUx 调整浏览器窗口大小后: http://imgur.com/mJq6AuO 所以我
我们正在重新考虑我们的开发环境。目前,我们都有 Elitebook 笔记本,但速度没有我们希望的那么快。我们正在考虑将我们的开发环境虚拟化为中央 VM 服务器。 我们的开发人员在 Visual Stu
我正在尝试获取 org.jfrog.buildinfo:artifactory-maven-plugin:2.6.1,它可以在 https://jcenter.bintray.com 中找到. 但是由
我有以下 Artifactory (6.12.1) 设置 远程存储库: 中央:https://repo.maven.apache.org/maven2 jboss:https://repository
如何让绿色 div 为 width: 100% 与其他两个 div 在同一行并固定 宽度。 我的想法是让两侧的 div 有固定的宽度,而中间的 div 是 width: 100% (以剩余空间)。 是
我目前正忙于将相当旧的项目从 Ant 迁移到 Gradle。这包括用等效的 Gradle 依赖管理替换 lib 目录。 目前我在使用 Maven Central 时遇到了问题。某些依赖项(我发现至少有
来自没有 typedef 的 Java 世界,我有一个问题要问 C++ 开发人员: 我的任务是用 C++ 重写一个大型 MATLAB 项目。为了了解代码的结构,我已经开始重建模块和类结构,但没有实际实
为了轻松运行我的 web 应用程序,我决定将 Jetty 添加到我的单个 POM 文件中。 关注 official documentation ,我将此添加到我的 : org.ecli
我最终想尽可能多地解耦现有的 ASP.NET MVC 项目。 随着时间的推移,他们使用多种方法,我正在学习: 标准 MVC, Controller 操作将单独的 View 返回给浏览器。 返回 FAT
正如问题所建议的那样,我们有自己的 BLE 设备和 Android 应用程序来连接该设备。我们能够与 BLE 设备连接并成功完成所有操作。 与此同时,我们能够检测到我们的 BLE 设备与其他 3rd
在 Android 上我们有 requestMtu 和 onMtuChanged,这似乎意味着我们必须手动协商 MTU 大小,如果中央设备和外围设备都是基于 Android 的(但我可能错了,它也可能
我是一名优秀的程序员,十分优秀!