【发布时间】:2015-10-15 06:57:06
【问题描述】:
我正在使用 glsurfaceview 和它的渲染器将 GLES 显示到设备全屏。这按预期工作。
现在我想添加“缩放”输出大小的选项。我的意思是(例如)将 GLES 渲染到屏幕四分之一的视口,然后在显示时拉伸到全屏。这将允许较慢的着色器更快地渲染,并带有一点块状。
我目前可以通过改变 glViewPort 来缩小 GLES 的大小,并且它会呈现在屏幕的左下角。我怎样才能让这个下半部分伸展以填满整个屏幕?
非常感谢任何提示/答案。
经过多次反复试验和谷歌搜索后的解决方案。这是将四分之一大小的图像渲染到全屏。
glsurfaceview 创建后;
glSurfaceView.getHolder().setFixedSize(glWidth,glHeight);
glHeight 和 glWidth 是内部 GLES 渲染大小。因此,要渲染屏幕 1/4 的图像,请使用 glWidth=screenWidth/2 和 glHeight=screenHeight/2
然后在onSurfaceChanged里面设置glViewPort;
glViewport(0, 0, screenWidth/2, screenHeight/2);
宾果游戏。更快的渲染(但 2x2 块状像素)输出。
希望能帮助其他人解决这个问题。
【问题讨论】:
标签: android opengl-es glsurfaceview