是否可以用cocos2d绘制一个实心圆圈?可以使用drawCircle()函数完成轮廓圆,但有没有办法以某种颜色填充它?也许通过使用纯OpenGL?
我正在使用运行Froyo的Android设备,支持OpenGL ES 1.1和OpenGL ES 2.0
我想将深度缓冲区渲染到纹理.在其他平台(包括iPhone)上看过OpenGL ES OpenGL ES的一些例子后,我尝试了很多FBO配置.
我似乎能够使用颜色纹理获得FBO设置,但每次我附加深度纹理时它都会失败.
我当前的代码基于此示例,但也创建了颜色纹理,而不是将绘制和读取缓冲区设置为无.
是否有一个在Android上配置OpenGL ES FBO以向纹理渲染深度的简单示例?或者是否有一个描述支持和不支持的文档?
感谢您的评论 - 我特别需要ES 1.1的解决方案,如果它可以找到并在Android上运行.我也想看看ES 2 - 我不确定我理解将深度信息打包到色彩缓冲区的想法 - 你有一个参考我可以看看更好地理解这个想法吗?
关于代码 - 我的来源与我上面发布的链接几乎没有什么不同.Framebuffer状态是它不完整.
感谢片段着色器建议 - 我现在明白了.如果我不能让另一个解决方案工作,请看看.我的理想是同时获得深度和颜色 - 如果我能帮助它,不要分别渲染颜色和深度.
我正在开发一款使用OpenGL ES 2进行绘图的iPhone应用程序.我知道通常纹理坐标是在0-1范围内定义的,但理想情况下我想将它们从0-1023(我的TextureAtlas的大小)映射出来以便于阅读.我已经看到了以这种方式定义坐标的示例代码,但是无法确定以前允许这样做的调用.glMatrixMode(GL_TEXTURE)好像它可能涉及,但我不太确定如何实现它.
我的最终目标是完成这样的事情,我在地图册中使用的纹理位于左上角48px的正方形中:
GLshort texcoords[]={
48,48,
0,48,
48,0,
0,0,
};
glVertexAttribPointer(ATTRIB_TEXTUREPOSITON, 2, GL_SHORT, 0, 0, texcoords);
glEnableVertexAttribArray(ATTRIB_TEXTUREPOSITON);
Run Code Online (Sandbox Code Playgroud) 我有一个绘图应用程序,用户可以用手指画线,调整颜色,厚度等.当用户绘图时,我将集合的X/Y点MotionEvent转换为SVG路径,以及创建Android路径和然后通过Canvas将Android Path's绘制到屏幕上,并将SVG Path提交到应用程序的数据库.
我正在关注FingerPaint中使用的模型,因为"进行中"行是通过重复调用invalidate()(以及因此onDraw())动态绘制的,一旦行完成并且新行开始,前一行(s) )onDraw()从底层抽取Canvas Bitmap,进行中的线再次产生重复的重绘.
这在此应用程序中工作正常 - 直到您开始旋转底层Bitmap以补偿设备旋转,支持在绘图表面上"放大"并因此必须缩放底层Bitmap等的能力.例如,设备旋转和缩放的图形,当用户绘图时,我们需要在onDraw()中缩放和旋转我们的位图,这绝对是爬行的.
我看了一下SurfaceView,但由于这仍然使用相同的Canvas机制,我不确定我会看到明显的改进......所以我的想法转向OpenGL.我已经读过某个地方,OpenGL可以基本上"免费"进行旋转和缩放,甚至可以看到未来版本中可能消失的谣言(第三条评论)Canvas.
从本质上讲,我在CanvasOpenGL解决方案之间有点困难......我有一个2D绘图应用程序,Canvas在一个状态下似乎完全适合模型,因为没有像游戏那样不断的重新绘制(例如当用户没有绘图我不需要任何重新绘图),但是当用户绘图时,我需要最大的性能来完成表面上一些越来越复杂的事情......
欢迎任何想法,指示和建议.
我在iOS应用程序中看到了EAGLView和GLKView.他们之间有什么区别?
前提A.
当在线性存储器中讨论"列主要"矩阵时,一个接一个地指定列,使得存储器中的前4个条目对应于矩阵中的第一列.另一方面,"行主要"矩阵被理解为一个接一个地指定行,使得存储器中的前4个条目指定矩阵的第一行.
A GLKMatrix4看起来像这样:
union _GLKMatrix4
{
struct
{
float m00, m01, m02, m03;
float m10, m11, m12, m13;
float m20, m21, m22, m23;
float m30, m31, m32, m33;
};
float m[16];
}
typedef union _GLKMatrix4 GLKMatrix4;
Run Code Online (Sandbox Code Playgroud)
该文件将在m人员说:
列主要顺序的矩阵元素的一维数组.
前提B
GLKMatrix4中的"行"是一组4个水平声明的浮点数([m00, m01, m02, m03]将是第一个"行").因此,这些条目可以解释为mRowCol(m12将是第1行第2列的条目).
如果我们根据声明的顺序查看这些GLKMatrix结构成员的布局,我们会看到:
[m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, ...]
前4个条目清楚地表示矩阵的第一行,而不是第一列.
结论
m 实际上并不是专业,而且文档是错误的.
现在,我应该注意到我实际上并不相信结论,但这两个前提似乎很合理.实际上,我最不信任前提B,但将"行"定义为垂直并将"列"定义为水平似乎很奇怪.有人可以解释一下吗?
我已经阅读过Windows Phone 8不支持OpenGL的地方,而且我无法在SDK中找到任何有用的东西.
那么我能否在Windows Phone 8游戏中使用OpenGL(ES)?我有一个游戏,我不想在移植时完全重写为DirectX.
请引用很好的消息来源,我发现的唯一的东西是推测和博客文章几乎没有信息.
我正在编写一个自动分析系统,以便在我的应用程序中分析不同的GPU密集型屏幕.我一直在尝试使用'XCode Instruments',使用'OpenGL ES Driver'仪器来捕获gpu使用数据.
我的自动化系统从命令行运行Xcode Instruments,命令行运行App,配置文件并捕获数据,并将数据写入".trace"文件.
我现在希望能够打开跟踪文件,并使用我的自动分析系统读取跟踪数据,以便我可以通知App开发人员应用程序的各个部分如何执行.
但是我找不到任何方法来读取跟踪文件.它似乎是包含各种目录的包,并且埋没在.zip文件中似乎包含一些二进制数据.如何解析此文件中的数据?
仪器系统看起来相当复杂,我很惊讶它访问它产生的跟踪数据有多难.
有谁知道如何解析跟踪文件?
我目前正在使用XCode 4.6.1
我一直遇到使用Ajhc在OpenGL中跟踪我的2d对象的问题.
我不知道如何跟踪我的物体并防止它离开设备的宽度和高度.有人可以提供帮助吗?
我的代码在这里:
module Draw where
import CubeVerts
import CoSys
import AndroidNdk
import AndroidNdk.Log
import Foreign.Marshal.Array
spriteMv :: Float -> Float -> Float -> Float -> Float -> IO ()
spriteMv x y dx dy z = do
drawFunc
drawFunc :: IO ()
drawFunc = do
c_glDrawArrays c_GL_TRIANGLES 0 6
spritePlayer :: Float -> Float -> Float -> Float -> Float -> IO ()
spritePlayer x y dx dy z = do
withArray vertices $ ?vp -> withArray colors $ …Run Code Online (Sandbox Code Playgroud) 我想用Gif或图像像Vigo更改Surface预览底部叠加层
像这样
请告诉我任何sdk或我用于此过滤器的内容
我可以使用此更改顶视图上的叠加层
PictureCallback cameraPictureCallbackJpeg = new PictureCallback()
{
@Override
public void onPictureTaken(byte[] data, Camera camera)
{
// TODO Auto-generated method stub
Bitmap cameraBitmap = BitmapFactory.decodeByteArray
(data, 0, data.length);
int wid = cameraBitmap.getWidth();
int hgt = cameraBitmap.getHeight();
// Toast.makeText(getApplicationContext(), wid+""+hgt, Toast.LENGTH_SHORT).show();
Bitmap newImage = Bitmap.createBitmap
(wid, hgt, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(newImage);
canvas.drawBitmap(cameraBitmap, 0f, 0f, null);
Drawable drawable = getResources().getDrawable
(R.drawable.mark3);
drawable.setBounds(20, 30, drawable.getIntrinsicWidth()+20, drawable.getIntrinsicHeight()+30);
drawable.draw(canvas);
File storagePath = new File(Environment.
getExternalStorageDirectory() + "/PhotoAR/");
storagePath.mkdirs(); …Run Code Online (Sandbox Code Playgroud) opengl-es ×10
android ×4
iphone ×4
ios ×3
objective-c ×2
c ×1
camera ×1
canvas ×1
chromakey ×1
cocoa-touch ×1
depth-buffer ×1
ffmpeg ×1
geometry ×1
glkit ×1
haskell ×1
instruments ×1
ios5 ×1
matrix ×1
xcode ×1