问题标签 [renderscript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 渲染脚本透明度/阿尔法
我正在使用 ICS 并尝试在常规视图上显示透明的 Renderscript 层。我想使用 RS 在应用程序上绘制文本。
我正在使用 setAlpha(8, 8); 我可以看到该层生成了它的 BGRA (dumpsys SurfaceFlinger)。
我的 RS 脚本就是这样做的:
我希望能够在我的常规视图上显示这个 Renderscript 图层绘图文本。
我的主要活动两次使用 setContentView,一次用于我的主视图,第二次用于 RS。即使这种方法可能是错误的,我至少应该能够看到应用程序的背景,而我只能看到黑色和“你好!” 覆盖一切的白色文本。我也尝试过使用两种不同的活动,但我从未能够使 RenderScript 层透明。
有任何想法吗?
java - 如何使用分配将数组值传入和传出 Android RenderScript
我最近一直在使用 RenderScript,目的是创建一个程序员可以轻松使用的 API,类似于 Microsoft Accelerator 的工作方式。
我目前遇到的麻烦是我想在 RenderScript 层之间传递值并让一切以最有效的方式运行,这是迄今为止我的源代码的摘录:
这只是创建了两个基本数组并用值填充它们并调用将它们发送到 RenderScript 的函数。
这会将一对值发送到以下 RenderScript 代码:
但是这样做有两个问题,第一个是 RenderScript 的异步特性,即当 Java 层请求值时,脚本要么还没有完成操作,要么已经完成,破坏了输出的值并开始下一个。并且由于 RenderScript 的调试可见性低,因此无法判断。
另一个问题是效率不高,代码不断调用 RenderScript 函数将两个数字相加。理想情况下,我希望将数组传递给 RenderScript 并将其存储在一个结构中,并在一个脚本调用中完成整个操作,而不是多次。但是为了取回它,我认为我需要使用 rsSendtoClient 函数,但我还没有找到任何关于如何使用它的材料。最好我想使用 rsForEach 策略,但信息又是可怕的。
如果有人有任何想法,我将不胜感激。谢谢。
将斯科特-杰克逊
android - Renderscript GLSL 着色器将所有制服转换为浮点数
在 GLSL 中为 renderscript 创建自定义着色器时,程序构建器似乎正在将我绑定为统一常量的结构的所有成员转换为浮点数或 vec,而不管它们指定的类型是什么。另外,我有一个在编译时报告以下错误的统一:“无法链接程序,L0010,统一“此处的统一名称”在精度上有所不同。”。我在两个不同的结构中有相同的命名统一,它们分别绑定到顶点和片段着色器。
[编辑] 感谢您对第二部分的回答。关于第一部分,我会尽量说得更清楚。在 java 端构建我的着色器程序时,我将常量绑定到程序构建器(顶点和片段),输入是绑定到渲染脚本结构的 java 变量。一切都很好,我所有的浮点变量都可以作为着色器程序中的制服完全访问。但是,如果结构具有诸如 bool 或 int 类型之类的成员,并且我尝试诸如 if (i == UNI_memberInt) 之类的东西,其中 i 是在着色器中声明的整数计数器或 if (UNI_memberBool) ,那么我会遇到以下错误“无法将 int 与 float 进行比较”或“if() 条件必须是布尔类型”,这表明数据并未完整地进入 GLSL 程序。我可以通过使它们成为浮点值并使用 0.0 之类的东西来解决这个问题,因为 GLSL 要求浮点值 0 始终准确,但对我来说似乎很粗糙。如果我尝试在 for 循环中使用 UNI_memberInt 作为停止条件,则会发生类似的事情。
android - 使用 Renderscript 绘制旋转文本
我正在尝试使用带有 Renderscript 的 rsgDrawText 显示旋转 90 度的文本。Font 类和 rsgDrawText 调用似乎不支持任何文本方向。我无法在纵向/横向中旋转活动,因此需要找出另一种方法来实现这一点。我通过对顶点着色器使用 rsMatrixRotate 进行了一些实验,但文本似乎不受这种转换的影响。我正在使用一个透明的表面,它只在另一个活动之上使用 Renderscript 绘制文本。所以像改变表面方向本身这样的事情可能会很好。使用 Renderscript 绘制旋转 90 度的文本的最佳方法是什么?
android - 渲染脚本错误
我正在从 Android 源代码中提取 Android Grass 动态壁纸代码。
我已经把它放在一个Android项目中。
当我运行它并转到壁纸选择器以选择它时,我收到了这个可能与OpenGL和RenderScript相关的错误,但我不知道究竟是什么问题。
谢谢你的帮助。
android - 结合使用 SurfaceTexture 和 RenderScript
我想在 android 上的 GPU 上进行相机图像处理。
在我当前的设置中,我使用 SurfaceTexture 从相机图像流中捕获帧作为 OpenGL ES 纹理。这是在我的着色器中获取相机流的有效方法。(http://developer.android.com/reference/android/graphics/SurfaceTexture.html)
现在我想开始使用新的 RenderScript API 而不是直接使用 OenGL ES。(http://developer.android.com/guide/topics/renderscript/index.html)
但要创建 SurfaceTexture,我需要将 openGl 纹理 ID 传递给构造函数。不幸的是,纹理 ID 不可用(RenderScript 使用分配类来加载纹理,它不会暴露纹理 ID)。所以我在使用 RenderScript 时无法创建 SurfaceTexture。
我已经阅读了有关 renderscript 的所有文档(仍然非常稀疏)并查看了示例,但它们没有关于该主题的信息。
所以我的问题是:是否可以将 SurfaceTexture 与 RenderScript 结合使用,或者是否有其他有效的方法可以在 RenderScript 图形脚本中使用实时摄像机流?
renderscript - Bluestacks 是否支持 Renderscript?
你们中的大多数人都知道 >3.x 的 Android 模拟器不支持 Renderscript。现在我找到了一个名为 Bluestacks 的 Android 播放器(我想你们中的大多数人都会知道)。所以我想问一下,是只有我还是 Bluestacks 也不支持 Renderscript。
问候,艾哈迈德
android - 将 C 代码文件合并为一个 C 代码文件
我正在将 libx264 转换为 renderscript,作为一个练习,将一个更大的项目移植到 renderscript 中需要做多少工作。renderscript 的痛点之一是所有东西都需要声明为静态才能自动获取 java 接口。此外,这个自动 java 接口不能处理指针、多维数组等。因此,除了一些调用函数来控制它之外,我需要在 libx264 中将所有函数和全局变量声明为静态。
然后我的问题是,由于所有内容都被声明为静态,因此我需要将所有代码都放在一个文件范围内。我开始将所有 C 代码文件包含在一个文件中并进行编译。如果不是 libx264 本身也包含具有不同预处理宏定义的 C 文件,这将很容易工作,因此一些函数存在两次,内容不同,而一些函数被重新声明为相同。我当然可以手动处理这个,但使用工具会更容易。
我在问是否有人知道一种可以将C项目和预处理/合并到一个 C 文件中、管理重新声明、冲突声明等的工具。
而且我认为堆分配将是一个难题......
java - 渲染脚本轮播示例
我没有太多的经验Renderscript
,但我想了解更多。我从 Google找到了这个示例,但我不确定如何将我自己的图像实际加载到轮播中。
我对将多个图像加载到轮播中感到困惑,因为它不使用Adapter
,而是使用一个,Bitmap
我不确定如何进行更改。
我已经做了一些研究,但是对于没有太多经验的人来说,很难找到可靠的例子。有人会提供一些资源或我如何将自己的图像加载到轮播中的示例吗?
android - 如何在 Android Renderscript 中编写卷积乘法?
我是 Android 渲染脚本的新手。我需要在 RenderScript 中编写卷积乘法,因为最终应用程序将在 Android 上运行。数据流将是一个图像。更具体地说,我无法使用 forEach 功能编写核心逻辑,虽然我可以在 Java 中完成,但速度太慢了!请帮忙!史蒂夫