All Questions
Questions Per Page:
  •  编码之妙 2016-08-30 10:57 联想Tech Word大会上即将发布的PHAB2 Pro智能手机渲染图已经被提前曝光,这款产品配备了6.4英寸的2K分辨率显示屏。 腾讯数码讯(言言)谷歌的Project Tango可以说是最有可能改变智能手机应用范围的一项技术了。提到谷歌和智能手机的关系,大家首先想到的一定是Android操作系统,其实谷歌除了Android之外,还有更多的技术代表,那就是让人兴奋的Project Tango,它可以改变我们看这个世界的方式,至少是在智能手机的眼中。 那么究竟什么是Project Tango呢,下面让我们一起来看看谷歌在智能手机和增强现实领域的野心究竟有多强大。 以智能手机为“双眼” 谷歌在2014年年初组件了先进技术和项目团队,同时试图通过智能手机和平板电脑改变我们看世界的方式。这意味着这些设备能够具有完整的空间意识,并且能够充分理解我们和环境的关系。 Project Tango最重要的目标就是通过智能手机了解周围的世界,使它们提供增强现实体验。而最近,英特尔和高通也宣布加入到了Project Tango项目的开发工作,引起了广大开发者的兴趣。 工作原理 一台Project Tango项目可以通过三个核心功能来“看到”周围的环境。 首先是运动追踪,设备可以通过内置的姿态传感器(加速度计和陀螺仪等)来感知当前的位置;接下来是更深入的识别,可以检查出周围世界环境的形状;英特尔在这方面提供了相当重要的支持,那就是RealSense …

    sourcecode Asked on 2016年9月18日 in 虚拟现实VR.
    • 1086 views
    • 0 answers
    • 0 votes
  •   关于 WebVR 最近VR的发展十分吸引人们的眼球,很多同学应该也心痒痒的想体验VR设备,然而现在的专业硬件价格还比较高,入手一个估计就要吃土了。但是,对于我们前端开发者来说,不仅可以简单地在手机上进行视觉上的VR体验,还能立马上手进行Web端VR应用的开发! WebVR是一个实验性的Javascript API,允许HMD(head-mounted displays)连接到web apps,同时能够接受这些设备的位置和动作信息。这让使用Javascript开发VR应用成为可能(当然已经有很多接口API让Javascript作为开发语言了,不过这并不影响我们为WebVR感到兴奋)。而让我们能够立马进行预览与体验,移动设备上的Chrome已经支持了WebVR并使手机作为一个简易的HMD。手机可以把屏幕分成左右眼视觉并应用手机中的加速度计、陀螺仪等感应器,你需要做的或许就只是买一个Cardboard。 不说了,我去下单了! cardborad纸盒,一顿食堂饭钱即可入手 前言 WebVR仍处于W3C的草案阶段,所以开发和体验都需要polyfill。 这篇解析基于 webvr-boilerplate ,这个示例的作者,任职google的 Boris Smus 同时也编写了 webvr-polyfill 。 …

    chenyong5 Asked on 2016年9月8日 in 虚拟现实VR.
    • 1141 views
    • 0 answers
    • 0 votes
  • Tango AR Camera 和Tango Delta Camera不能说的小秘密 我们会在该系列教程向您介绍如何快速而轻松地使用Tango unity sdk为Project Tango开发应用。 那么,我们的星空系列教程项目是什么呢?想在办公室里遨游星空吗? 先定一个能达到的小目标,比如说,先造一个带云层的地球! 在上一个教程(跟着Shrek Team学tango 入门第一季第一集Simple AR)中介绍了如何在 AR 中建立一个自转地球,且拥有最基本的motion tracking功能。当我们手持tango手机走近虚拟物体,物体变大;当我们手持tango手机远离虚拟物体,物体变小。 下面的教程将会介绍如何使用 …

    yangyu4 Asked on 2016年9月7日 in 虚拟现实VR.
    • 1030 views
    • 0 answers
    • 0 votes
  • 未来信息科技2016-09-06 23:56 欢迎来到这期分析,未来君应朋友要求找了关于VR学习相关的内容分享给大家,希望大家喜欢,关于 VR 的正确或不正确的废话,就不多说了。喜欢看视频的网上很多,可以最直观地了解 VR,全面激发对 VR 的热情。 想进入 VR 领域,从 2D 的界面设计转向 VR 设计,或者制作 VR 内容、成为 VR 开发者,该如何开始?产业相关的文章多如麻,但是对真正想行动的人来说,唯独缺少一张地图:在 VR/AR …

    songyf1 Asked on 2016年9月7日 in 虚拟现实VR.
    • 1160 views
    • 0 answers
    • 0 votes
  • 2016-08-31 08:30 知情人士 0条评论 雷锋网(搜索“雷锋网”公众号关注)按:本文来自微动投稿雷锋网发布。 (图:微动和易瞳共同尝试了VR和MR版Pokémon GO) 你们日思夜想的手感操控VR和MR版Pokémon GO,我们做出来了。这才是Pokémon GO打破次元壁的正确方式。 Pokémon GO让AR和手游、街头甚至社交相结合,仅仅是这几个关键词就足够吸引人,再加上Pokémon 这一世纪大IP,好像不火反而没道理。但是在手机上用长按→滑动的触屏操作模拟“抛出”精灵球,将宝可梦收入其中……会不会有些略显拘谨和中二? 虽然国服还未开放,但是中国玩家对Pokémon GO的思考和想象并不少,Pokémon GO确实带给我们很多惊喜,但是玩家最期待看到的不是技术最初级的样子,而是将之与最适合的技术表现形式相结合,从情节设计和操作方式来看,VR/MR+手感操控能带给我们更爽的体验。 | 开脑洞容易,但实现呢? 我们尝试了VR和MR版Pokémon GO,让宝可梦从手机屏幕中解禁,你可以抓住想要选择的精灵球,在眼前调整角度瞄准后冲着宝可梦抛出。如果你遇到的是一只刚烈而又狡猾的宝可梦,为了避免被带节奏,还可以打圈儿扔出最强旋转精灵球、投喂食物,大概没有哪只宝可梦可以从阁下手中逃脱了吧。 …

    后厂村 Asked on 2016年9月6日 in 虚拟现实VR.
    • 1054 views
    • 0 answers
    • 0 votes
  • 从 Unity 到 UE4 的快速上手与迁移 陶仁贤 · 4 个月前 本页面的内容: 本指南从一个 Unity 的用户视角来整体看待虚幻 4,并帮助将 Unity 的开发经验应用到虚幻 4 的世界中。 编辑器 下面是 Unity 编辑器和虚幻编辑器的图片,用颜色标识了同类的区块。每个区块也添加了标签,对应于虚幻术语表。虚幻编辑器完全可以通过对各个区块的拖拽做到窗口布局的自定义。 …

    山东大叔 Asked on 2016年8月30日 in 虚拟现实VR.
    • 1289 views
    • 0 answers
    • 0 votes
  • 编码之妙 2016-08-24 13:26 Vulkan在今年二月份已经正式发布,再加上过去一年内各类科技媒体的宣传以及网上的热烈讨论,关于Vulkan大家想必早已耳熟能详。作为下一代图形API以及OpenGL的继承者,Vulkan也保留了GL跨平台和开发等特性。然而Vulkan诞生的最重要的理由是性能,更具体的说,是优化CPU上图形驱动相关的性能。下面首先大概谈谈传统图形API,例如OpenGL和D3D11,在设计上面有哪些潜在的不够高效的地方。 传统图形API的局限 上图是一段比较典型的图形应用程序中的主循环伪代码。循环的最外层,通常每一帧都会有好几个render pass,例如shadow map和gbuffer的渲染,光照以及各种后处理等。每个pass都有需要设定特定的管线状态,例如blending,depth,raster的状态等等。在下面几层循环中通畅需要遍历所有的shader和着色系统需要的材质参数,如纹理,常量等等。在最内层的循环中,则是需要遍历共享材质的几何体,在这里同场需要绑定vertex buffer和index buffer,以及针对物体的常量参数例如矩阵等。 这里潜在的问题是,当渲染的场景非常复杂的时候(集合数量多,材质系统复杂,纹理,参数多,渲染管线复杂等),所有这些每一帧大量的状态更新,资源绑定操作所花费的计算时间就不能被简单的忽略了。而在现在的图形程序中,复杂场景,大量的多边形,材质、shader的组合以及复杂的渲染管线却正是所有高质量渲染所需要的。 在处理这些修改管线状态的操作时,驱动会在后台运行许多工作,包括下载纹理,Mipmap Downsample,资源访问的同步,渲染状态组合正确性验证,以及错误检查等等等等。对于3D App开发者来说,这些工作什么时候发生,是否发生,都是在API层面无法确定的。所以这样的结果就是在CPU端造成卡顿。卡顿也许是你第一次给管线绑定特定的Shader,VBO或者Blend Mode,Render Target的时候。由于不同的硬件厂商的驱动处理这些工作的方式都不一样,所以App在不同显卡上运行的症状以及优化的方式都会有差别,优化也是无从下手。 传统图形API的另一个问题就是,并不多线程友好。现在多核的系统以及不能再更加普及,然而大多数的图形应用和游戏在CPU端并没有将这些放在手边的计算资源利用起来。当在驱动的工作非常费时的情况下,利用CPU端的多线程非常可能有效的提高整个程序的性能。 无论OpenGL还是Direct3D,都包含一个Context的概念。Context包括当前渲染管线中的所有状态,绑定的Shader,Render Target等。在OpenGL中Context和单一线程是绑定的,所以所有需要作用于Context的操作,例如改变渲染状态,绑定Shader,调用Draw Call,都只能在单一线程上进行。NV_CommandList拓展可以让App支持多线程的任务生成,但是所有渲染状态的操作还是只能在主线程进行,此处不展开。在D3D中,多个线程访问Context时需要App显示的做Synchronization,程序写起来比较麻烦,而且也会有一定性能的影响。 …

    山东大叔 Asked on 2016年8月24日 in 虚拟现实VR.
    • 1647 views
    • 1 answers
    • 0 votes
  • 首先感谢题主和各位答主,借着这个问题引发的兴趣,再根据各位答主提供的资料,我也写出了自己的软件光栅化渲染器。 先放渲染截图: 从截图可以看到的功能有: *模型坐标转换 *纹理渲染模式 *线框渲染模式 *单个点光源 实际上,上面说的这些其实就是我这个渲染器的所有功能了(大雾)。特地说明一下,我这个渲染器不支持交互,跑起来只能渲一张静态图,然后就退出了。 本来看了 @空明流转 的答案,计划是搞个和SALVIA类似的大工程,写着写着发现力不从心,然后就砍呀砍呀成了现在这个样子。 不过我的整个渲染器只有一个cpp文件哟,加空行加注释一共也不到500行代码。不能做大,就往小里做,条条大路通北京哈哈。 回到主题,题主是问从哪里开始着手,我就说一下我的开发过程。 1. 首先把本问题下所有答案都读一遍,再读一遍,读三遍。 2. @Milo Yip 的回答里提到了很多技术要点,查wiki查google进行深入了解。 3. …

    山东女人在北京 Asked on 2016年8月19日 in 虚拟现实VR.
    • 1748 views
    • 0 answers
    • 0 votes
  • 本人是C#程序员兼Photoshop爱好者。首先说说我对你的看法,你理解“明度”,“饱和度”,“色相”等概念很困难,一方面固然是从数字世界转到模拟世界的思考方式难以转变,更重要的是,你学习Photoshop还学得太少。 色相环,这个无非是红色,绿色,蓝色三个颜色的16进制值组合出的类似#85b056的颜色系数,我一直觉着这个东西就完完全全唯一指定了颜色,所以无法接受“明度”,“饱和度”,“色相”的概念。 你如果学过数字信号处理或者数字图像处理的话,应该对于理解这个帮助很大。 自然界中,信号都是连续的,也就是模拟量。将模拟量变成数字量要经过“采样——量化——编码”。 重点讲讲量化。 例如某自然界的某种发光物的亮度为189.879977652244…尼特,是一个无限不循环的数,计算机只认识0和1,要表示这个数必然要经过量化,其中一种可能是四舍五入取整,例如取整为190尼特。(有人可能要抬杠说什么double类型,但是double能表示的小数点后的位数也是有限的,因此依然有精度的损失) 通常来,R、G、B的通道的亮度均用从0-255的数值来表示,这其实就是一个量化的过程。例如将189.879977652244…量化为190。 无非是红色,绿色,蓝色三个颜色的16进制值组合出的类似#85b056的颜色系数。 这种说法是错误的。你指的只是一种特殊情况。即R、G、B都只用8位来编码,也就是256*256*256 ,总共只能表示1677.7万种颜色。 8+8+8,这叫24位真彩色,或者叫32位真彩色(知道Bitmap类的,应该知道里面还有一个通道是控制不透明度的,也就是8+8+8+8)。 除了8位编码,还有16位编码和32位编码,位数越多,说明量化越精细,损失的颜色越少。16位编码的话,就是48位彩色。 我可不是忽悠大家哦,有图有真相。 所以,只要是数字图像,就一定有颜色损失。 那么什么是无损图片呢?众所周知,.bmp就是一种无损格式,这种无损其实指的是无损编码。“采样,量化,编码”,虽然.bmp格式图像在编码阶段无损,但是在量化阶段依然是有损的。 所以,只要是数字图像,就一定有颜色损失。 你能理解类似#85b056这样的唯一指定了的颜色,但无法接受“明度”,“饱和度”,“色相”,这大概是因为,在你心中,你认为饱和度、明度、色相是模拟量,因为生活中就是如此啊! 程序员能理解数字量,但不能理解模拟量这当然无可非议。我之前也说过,Photoshop里面的颜色有8位编码,还有16位编码,是从模拟量转到数字量,其实颜色在自然界中本身就是模拟量,而不是类似#85b056的颜色。 同样的,明度,色相,饱和度在自然界中也是模拟量,但是在Photoshop里面,它们同样经过了量化。也转成了数字量。 例如:色相量化到0-360里面去了,饱和度和明度都量化到0-100%里面去了,而且不能取45.28%这样的小数,只能取45%。<img …

    山东女人在北京 Asked on 2016年8月11日 in 虚拟现实VR.
    • 1187 views
    • 0 answers
    • 0 votes
  •   Imagination Tech · 用于PowerVR Rogue GPU的 Vulkan驱动程序已发布一段时间。自其发布以来,我们的PowerVR驱动及图像演示团队一直努力与标准规格保持同步,并使之发展为产品的最终形式。 今天,我们能将一直致力开发的全新演示版展示在您面前,着实非常兴奋。新的演示版对产品的优势进行了突出强调,这也是我们认为此API应该给开发人员和设备带来的优势。 Gnome Horde中的Vulkan与OpenGL ES使用对比 新演示版称为Gnome Horde,在Android环境下基于英特尔处理器的Nexus Player上运行。它是一款集成了PowerVR G6430 GPU的消费型设备,使用最新的用于PowerVR GPU的Vulkan API原型驱动器(最终性能可能有所差异)。 左边视频展示的是Vulkan,右边则是OpenGL® …

    山东女人在北京 Asked on 2016年8月10日 in 虚拟现实VR.
    • 1119 views
    • 1 answers
    • 0 votes