package com.asha.vrlib.texture; import com.asha.vrlib.MD360Program; /** * Created by hzqiujiadi on 16/1/25. * hzqiujiadi ashqalcn@gmail.com * * copied from surfaceTexture * Created by nitro888 on 15. 4. 5.. * https://github.com/Nitro888/NitroAction360 */ public abstract class MD360Texture { private static final int TEXTURE_EMPTY = 0; private static final String TAG = "MD360Texture"; private int mTextureId = TEXTURE_EMPTY; public MD360Texture() { } // may called from multi thread public void create() { int glTexture = createTextureId(); if (glTexture != TEXTURE_EMPTY){ mTextureId = glTexture; } } abstract public boolean isReady(); abstract public void destroy(); abstract public void release(); public int getCurrentTextureId(){ return mTextureId; } final protected boolean isEmpty(int textureId){ return textureId == TEXTURE_EMPTY; } abstract protected int createTextureId(); abstract public boolean texture(MD360Program program); public abstract void notifyChanged(); }