我在android上创建着色器程序时遇到了一个非常困难的问题.当我调用glCreateShader或glCreateProgram时,每个都返回0.
我已经涵盖了有关故障排除的所有基础:
我检查确保我有一个ogl上下文(我这样做,我通过清除各种颜色的帧缓冲区测试了这个,这是有效的).
我尝试了glGetError,但没有返回任何内容(GL_NO_ERROR)
我不是一个opengl或android专家,所以我不知道其他任何可能造成这种情况的事情.
我一直在nexus 7平板电脑上运行我的应用程序,我使用的是OpenGL ES 2.0,我的目标是最新版本的Android(版本17).
最后,我还要显示我的代码:
这是我设置应用程序的样板代码:
public class Platform implements ILinkable<Activity> {
class GameLoop extends GLSurfaceView implements GLSurfaceView.Renderer {
class Graphics2D implements IGraphics2D {
int width = 0;
int height = 0;
public void setWidth (int width ) { this.width = width; }
public void setHeight(int height) { this.height = height; }
public int getWidth () { return width; }
public int getHeight() { return height; }
}
class Time implements ITime {
float frametime …Run Code Online (Sandbox Code Playgroud) 给定不相关的输入是否可以生成非类型参数包?我的意思是,我想转此:
template <typename D, size_t... Offsets> struct VecGeneric;
template <typename N, size_t C> struct VecGenericData;
template <typename N, size_t D> struct TVecN;
template <typename N> struct TVecN<N,2> : public VecGeneric<VecGenericData<N,2>,0,1> { };
template <typename N> struct TVecN<N,3> : public VecGeneric<VecGenericData<N,3>,0,1,2> { };
template <typename N> struct TVecN<N,4> : public VecGeneric<VecGenericData<N,4>,0,1,2,3> { };
template <typename N> struct TVecN<N,5> : public VecGeneric<VecGenericData<N,5>,0,1,2,3,4> { };
template <typename N> struct TVecN<N,6> : public VecGeneric<VecGenericData<N,6>,0,1,2,3,4,5> { };
template <typename N> struct TVecN<N,7> : public VecGeneric<VecGenericData<N,7>,0,1,2,3,4,5,6> …Run Code Online (Sandbox Code Playgroud)