SceneKit 每个顶点颜色

2023-11-26

我一直在使用 SceneKit,但我不知道如何创建每个顶点颜色几何体。

更准确地说,我想这样做:http://openglbook.com/chapter-2-vertices-and-shapes.html

如果不清楚,请告诉我

Thanks.


倒入信息:

    sceneView = SCNView(frame: sceneContainer.bounds)
    sceneView.scene = SCNScene()
    sceneView.allowsCameraControl = true
    sceneView.autoenablesDefaultLighting = true
    sceneView.showsStatistics = true
    sceneView.backgroundColor = UIColor.darkGrayColor()

    self.sceneContainer.addSubview(sceneView)

    // Vertex
    let vertices: [SCNVector3] = [SCNVector3(0, 0, 0),
        SCNVector3(1, 0, 0),
        SCNVector3(0.5, 1, 0)]

    let vertexData = NSData(bytes: vertices, length: vertices.count * sizeof(SCNVector3))
    let vertexSource = SCNGeometrySource(data: vertexData, semantic: SCNGeometrySourceSemanticVertex, vectorCount: vertices.count, floatComponents: true, componentsPerVector: 3, bytesPerComponent: sizeof(Float), dataOffset: 0, dataStride: sizeof(SCNVector3))

    // Faces
    let indices: [Int32] = [0,1,2]

    let indexData = NSData(bytes: indices, length: sizeof(Int32) * indices.count)
    let indexElement = SCNGeometryElement(data: indexData, primitiveType: SCNGeometryPrimitiveType.Triangles, primitiveCount: indices.count / 3, bytesPerIndex: sizeof(CInt))

    // Normals
    let normals: [SCNVector3] = [SCNVector3(0, 0, 1),
        SCNVector3(0, 0, 1),
        SCNVector3(0, 0, 1)]

    let normalData = NSData(bytes: normals, length: sizeof(SCNVector3) * normals.count)
    let normalSource = SCNGeometrySource(data: normalData, semantic: SCNGeometrySourceSemanticNormal, vectorCount: normals.count, floatComponents: true, componentsPerVector: 3, bytesPerComponent: sizeof(Float), dataOffset: 0, dataStride: sizeof(SCNVector3))

    // Colors
    let colors: [SCNVector3] = [SCNVector3(1, 0, 0),
        SCNVector3(0, 1, 0),
        SCNVector3(0, 0, 1)]

    let colorData = NSData(bytes: colors, length: sizeof(SCNVector3) * colors.count)
    let colorSource = SCNGeometrySource(data: colorData, semantic: SCNGeometrySourceSemanticColor, vectorCount: colors.count, floatComponents: true, componentsPerVector: 3, bytesPerComponent: sizeof(Float), dataOffset: 0, dataStride: sizeof(SCNVector3))

    // Geometry
    let voxelGeometry = SCNGeometry(sources: [vertexSource, normalSource, colorSource], elements: [indexElement])
    let voxelMaterial = SCNMaterial()
    voxelMaterial.diffuse.contents = UIColor.whiteColor()
    voxelGeometry.materials = [voxelMaterial]

    voxelNode = SCNNode(geometry: voxelGeometry)
    voxelNode.position = SCNVector3(0, 0, 0)

    sceneView.scene?.rootNode.addChildNode(voxelNode)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SceneKit 每个顶点颜色 的相关文章

  • 应用程序图标未刷新

    我更改了新版本应用程序中的图标图像 并且我在设备中安装了旧版本应用程序 然后我安装了新版本 它在 iOS 5 中运行良好 但在 iOS 6 中 图标没有刷新 它仍然显示旧版本图标 徽标 如果没有安装旧版本应用程序 该设备在 iOS 5 和
  • 适用于 iOS 的 Google Cast SDK 2.3.0 不支持 64 位

    似乎是适用于 iOS 的 Google Cast SDK 2 3 0 版本 https developers google com cast downloads GoogleCastFramework 2 3 0 Release zip停止
  • iOS Swift 检测键盘事件

    我能以某种方式检测来自 iOS 键盘的事件吗 我想检测此类事件UIViewController哪个没有UITextField或任何此类物体 我只有四个圆圈UIView我想在按下键盘上的按钮时将它们涂成不同的颜色 您没有任何对象可以从键盘获取
  • 如何在 Swift 中使用 CGFloat?

    var posinonY Float Float y Float pipeDown size height Float verticalPipeGap pipeDown position CGPointMake 0 0 Float posi
  • 新的 FUITableViewDataSource - 如何使用?雨燕3

    刚刚更新到较新的 FirebaseUI Pod 有些事情发生了变化 但其中最大的变化之一是 FUI 表视图的工作方式 我让它在旧版本上运行良好 但在下面遇到了困难 并且缺乏文档 示例 self dataSource FUITableView
  • 使用 Push Transition 效果更改 RootViewcontroller

    在我的iOS应用程序中 我需要更改应用程序之间窗口的rootviewController 因此 当我动态更改我的rootviewcontroller时 它会在更改之前轻拂视图 但我想要的是在更改rootviewcontroller时提供平滑
  • iOS 4.2.1 丢失文件?

    这是我第一次使用最新的 xcode 3 2 5 和新的 iOS 4 2 1 当我在设备上运行应用程序时 我收到以下运行时错误 无法读取 Developer Platforms iPhoneOS platform DeviceSupport
  • 如何在 RestKit 中为同一类提供两条发布路线

    由于我无法弄清楚如何为同一个类设置两个不同的 POST 资源路径 因此我尝试手动创建 RKObjectLoader 请求 但它似乎不断发送 GET 请求而不是 POST 即使我已将方法设置为邮政 这是我的代码 User user User
  • iOS 解决方案仅当图像尚未使用 SDWebImage 缓存在内存中时才加载带有动画的图像

    我已经为这个问题苦苦挣扎了几天 以前我使用 AFNetworking 类别来加载和缓存图像 但它的回调中没有提供缓存类型 所以我过去常常在每个控制器中跟踪哪些图像已经加载 我浏览了 SDWebImage 它提供了我正在寻找的东西 SDIma
  • 如何在我的 iOS 项目中添加和执行 .sql 文件?

    我找到了很多关于在 iOS 中使用 SQLite 数据库的教程 但没有找到任何直接引用 sql 文件的内容 谁能告诉我如何将现有的 SQL 数据库链接到我的应用程序 编辑 这是一个 MySQL 转储 我们有一个基于浏览器的抽认卡程序 现在我
  • iOS:从非图像数据生成图像(Godus,如风景)

    所以看到图像后Godus http www kickstarter com projects 22cans project godus我想知道如何生成简单的 非交互式的 2D 图像 with 不同高度或层数的颜色不同就像下面的图片一样 我只
  • Swift -boundingBox 导致 EXC_BAD_ACCESS (代码 = 1)

    我正在使用 SceneKit 来显示文本节点 这是我的代码 foo swift extension SCNNode func getNodeSize gt width Float height Float let min max bound
  • 更改 UITextField 辅助功能描述

    有没有办法将 UITextField 的辅助功能标签设置为 文本字段 之外的其他内容 因此 我不想将其称为 文本字段 而是将其命名为 代码验证字段 我的建议是不要试图在内置语音输出上智取系统 对于盲人用户来说 文本字段正在编辑 相当于 该项
  • 如何将十六进制数组转换为 UIImage?

    有几个与使用 P25mi 动态打印图像相关的未解答问题 没有一个得到公认的答案 下面有几个链接 如何将图像转换为位图代码以便在 iPhone 中进行蓝牙打印 https stackoverflow com questions 1383828
  • swift 中的负数模

    负数模如何在 swift 中工作 当我执行 1 3 时 它给出 1 但余数是 2 其中有什么问题 雨燕余数运算符 计算余数 整数除法 a b a a b b where 是截断整数除法 在你的情况下 1 3 1 1 3 3 1 0 3 1
  • Swift 如何设计 UIWebView 在 Story Board 中自动调整全屏大小

    我在 StoryBoard 中设计了一个 320x500 的 UIWebView 但是当在 Iphone 6 Plus 模拟器中运行时 我想要这个 webview 全屏或随设备屏幕缩放 如何在故事板中制作它 我在 ViewDidLoad 中
  • iPad 3 中配备 Xcode 4.2 和 Retina 的 iOS 5.1

    我有一台装有 Mac OS X Snow Leopard 的 Mac 我可以添加 iOS 5 1 吗 使用 iPad 3 的新分辨率 我们将如何处理图像 因为如果该应用程序将在 iPhone 3GS 4 和 iPad 3 中运行 我认为我们
  • 在模拟器中运行应用程序时删除本地通知的 iOS 权限警报

    我正在尝试编写验收测试KIF https github com kif framework KIF在一个很早就要求本地通知权限的应用程序上 不幸的是 由于 iOS 模拟器安全原因无法使用 KIF 自动接受 iOS 权限警报 https gi
  • 如何在 Xcode 4 中通过一个操作归档多个目标

    我有一个包含多个目标的项目 这些目标都适用于不同的 iOS 应用程序 例如 一个用于精简版的目标 另一个用于专业版的目标 我想立即构建并归档我的所有应用程序 目前 我对每个目标都有一个方案 我用它来独立归档每个应用程序 但现在我必须开始归档
  • Cognito/IAM 策略和 S3 获取对象

    我正在尝试将 S3 和 Cognito 集成到我的 iOS 应用程序中 但到目前为止尚未成功 我相信该错误与我针对 Auth 和 Unauth 用户的 IAM 策略有关 所以这是我的政策 Version 2012 10 17 Stateme

随机推荐

  • Rails 3.2.2 不执行 rjs

    我正在关注这本书使用 Rails 进行实用敏捷 Web 开发第 4 版 但我使用的是 Rails 3 2 2 而不是书中推荐的 3 0 5 ruby v ruby 1 9 3p125 2012 02 16 i686 linux rails
  • Vim textwidth 逗号缩进问题

    如果我在 Vim 中设置以下选项 set textwidth 80 文本将在 80 个字符处中断 这可行 但问题是如果逗号 位于行尾 Vim 会缩进下一行 我可以做什么来避免这种行为 您可能启用了 C 风格缩进 set nocindent应
  • 如何在 spring mvc 中的操作之前发送响应

    假设我的 spring 控制器函数接收大量数据 鉴于数据结构正确 我想返回 200 OK 并且在那之后我想执行处理 这可能需要一段时间 据我了解 发送响应的唯一方法是return命令 但我不想在响应发送时结束该功能 还有其他方法可以在函数中
  • 加载/存储宽松原子变量和普通变量有什么区别?

    正如我从测试用例中看到的 https godbolt org z K477q1 生成的程序集加载 存储原子宽松与普通变量相同 ldr和str 那么 宽松原子变量和普通变量有什么区别吗 区别在于正常的加载 存储不是保证是无泪的 而轻松的原子读
  • 计算矩阵的零空间

    我正在尝试求解 Ax 0 形式的一组方程 A 是已知的 6x6 矩阵 我使用 SVD 编写了以下代码来获取在一定程度上有效的向量 x 答案大致正确 但不足以对我有用 我怎样才能提高计算的精度 将 eps 降低到 1 e 4 以下会导致函数失
  • 选项的单击事件在 IE 中不起作用

    我有一个多选标签 我需要编写它的选项的 onclick 函数 因为我需要获取最后单击的选项的值 但是当我编写以下内容时 multiple select option click function var val this val alert
  • 约束成员模板的外线定义有哪些规则?

    考虑以下code template
  • 显示 MySQL 中日期时间在下一小时内的行

    我总是在处理复杂的 SQL 查询时遇到麻烦 这就是我所拥有的 query SELECT id name info date time FROM acms events WHERE date time DATE SUB NOW INTERVA
  • UINavigationBar 和新的 iOS 5+ 外观 API - 如何提供两个背景图像?

    我想利用新的 iOS 5 外观 API 为我的应用程序中的所有 UINavigationBar 实例提供自定义背景图像 要做到这一点 就像这样简单 UINavigationBar appearance setBackgroundImage
  • 从 localStorage 中删除项目

    我正在尝试从本地存储中删除单个项目 我正在使用 localStorage 来存储列表视图中选定的列表项 我附加了用于从本地存储中删除所选项目的复选框 但是 当我删除选定的复选框时 它不会正确删除 就像我选择一个复选框时 它删除的两个或三个项
  • Java中如何从HTTP请求中获取JSON对象

    我现在尝试使用 Java cord 中的 HTTP 请求获取 JSON 对象 我想知道如何在下面的代码中获取响应或 JSON 对象 请告诉我 在这个程序中 我尝试获取文章 纽约 的维基百科类别 String requestURL http
  • Laravel 4 自定义验证规则 - 在哪里扩展验证器?

    我想制定一个自定义验证规则 我的模型现在看起来像这样 protected rules array first name gt required last name gt required ssn gt required integer mi
  • 如何向 ubuntu 应用程序添加图标

    我已经用Python快速开发了一个用于ubuntu的应用程序 我将其打包并且工作正常 但我找不到如何向我的应用程序添加图标 目前它就像一个空白图标 我用过 Glade 和 gtk 最好的方法是安装一个 命名图标 为此 您的安装脚本会将文件复
  • Python,可变长度位置参数之后的默认关键字参数

    我以为我可以在 Python 2 中的函数调用中的可变长度位置参数之后使用命名参数 但我得到了SyntaxError导入 python 类时 我正在使用以下 get 方法编写 例如 class Foo object def init sel
  • 停止自托管owin服务器时完成当前请求

    我有 OWIN 服务器作为控制台应用程序的一部分 你可以在这里看到主要方法 class Program public static ManualResetEventSlim StopSwitch new ManualResetEventSl
  • 从 UIBezierPath 获取点

    我通过以下方式绘制了上面的 BezierPath 位置是用户触摸屏幕的位置 位置将是图表的最大值 CGPoint 原点 CGPointMake xStart 620 0 CGPoint endpt CGPointMake xEnd 620
  • 使用 Hibernate 公式从另一个表中选择实体

    我正在尝试使用 Hibernate 的 Formula 注释从另一个表中检索实体 给出以下代码 Entity class Test Id GeneratedValue strategy GenerationType IDENTITY Col
  • 无法使用 pymongo 2.2 连接到 MongoDB 2.0.5 数据库

    我已经诊断这个问题几个小时了 我想看看是否有 pymongo 专家有任何想法 下面一行代码 连接 pymongo Connection localhost 27017 生成以下错误 usr local Cellar python 2 7 3
  • .htaccess 虚拟主机的基本身份验证?

    我想知道是否可以根据 htaccess 文件中的虚拟主机 URL 设置条件 http 基本身份验证要求 例如 我想要做的是让 mysite com 和 test mysite com 在同一目录中运行相同的代码库 但密码保护 test my
  • SceneKit 每个顶点颜色

    我一直在使用 SceneKit 但我不知道如何创建每个顶点颜色几何体 更准确地说 我想这样做 http openglbook com chapter 2 vertices and shapes html 如果不清楚 请告诉我 Thanks