本文整理汇总了Java中com.jme3.shader.Shader.getSources方法的典型用法代码示例。如果您正苦于以下问题:Java Shader.getSources方法的具体用法?Java Shader.getSources怎么用?Java Shader.getSources使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.jme3.shader.Shader
的用法示例。
在下文中一共展示了Shader.getSources方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: deleteShader
import com.jme3.shader.Shader; //导入方法依赖的package包/类
public void deleteShader(Shader shader) {
if (shader.getId() == -1) {
logger.warning("Shader is not uploaded to GPU, cannot delete.");
return;
}
for (ShaderSource source : shader.getSources()) {
if (source.getId() != -1) {
glDetachShader(shader.getId(), source.getId());
// the next part is done by the GLObjectManager automatically
// glDeleteShader(source.getId());
}
}
// kill all references so sources can be collected
// if needed.
shader.resetSources();
glDeleteProgram(shader.getId());
statistics.onDeleteShader();
}
示例2: deleteShader
import com.jme3.shader.Shader; //导入方法依赖的package包/类
public void deleteShader(Shader shader) {
if (glslVer != -1) {
if (shader.getId() == -1) {
logger.warning("Shader is not uploaded to GPU, cannot delete.");
return;
}
GL gl = GLContext.getCurrentGL();
for (ShaderSource source : shader.getSources()) {
if (source.getId() != -1) {
gl.getGL2().glDetachShader(shader.getId(), source.getId());
// the next part is done by the GLObjectManager automatically
// glDeleteShader(source.getId());
}
}
// kill all references so sources can be collected
// if needed.
shader.resetSources();
gl.getGL2().glDeleteProgram(shader.getId());
statistics.onDeleteShader();
}
}
示例3: deleteShader
import com.jme3.shader.Shader; //导入方法依赖的package包/类
public void deleteShader(Shader shader) {
if (shader.getId() == -1) {
logger.warning("Shader is not uploaded to GPU, cannot delete.");
return;
}
for (ShaderSource source : shader.getSources()) {
if (source.getId() != -1) {
glDetachShader(shader.getId(), source.getId());
deleteShaderSource(source);
}
}
// kill all references so sources can be collected
// if needed.
shader.resetSources();
glDeleteProgram(shader.getId());
statistics.onDeleteShader();
}
示例4: getShaderCode
import com.jme3.shader.Shader; //导入方法依赖的package包/类
public String getShaderCode(String version, Shader.ShaderType type) {
try {
material.selectTechnique(currentTechnique.getName(), SceneApplication.getApplication().getRenderManager());
Shader s;
StringBuilder sb = new StringBuilder();
TechniqueDef def = material.getActiveTechnique().getDef();
sb.append(def.getShaderPrologue());
material.getActiveTechnique().getDynamicDefines().generateSource(sb, Arrays.asList(def.getDefineNames()), Arrays.asList(def.getDefineTypes()));
if (version.equals(GLSL100)) {
glsl100.initialize(material.getActiveTechnique().getDef());
s = glsl100.generateShader(sb.toString());
} else {
glsl150.initialize(material.getActiveTechnique().getDef());
s = glsl150.generateShader(sb.toString());
}
for (Shader.ShaderSource source : s.getSources()) {
if (source.getType() == type) {
return source.getSource();
}
}
return "";
} catch (Exception e) {
Exceptions.printStackTrace(e);
return "Error generating shader: " + e.getMessage();
}
}
示例5: deleteShader
import com.jme3.shader.Shader; //导入方法依赖的package包/类
public void deleteShader(Shader shader) {
if (shader.getId() == -1) {
logger.warning("Shader is not uploaded to GPU, cannot delete.");
return;
}
for (ShaderSource source : shader.getSources()) {
if (source.getId() != -1) {
if (verboseLogging) {
logger.info("GLES20.glDetachShader(" + shader.getId() + ", " + source.getId() + ")");
}
Gdx.gl20.glDetachShader(shader.getId(), source.getId());
// the next part is done by the GLObjectManager automatically
// glDeleteShader(source.getId());
}
}
// kill all references so sources can be collected
// if needed.
shader.resetSources();
if (verboseLogging) {
logger.info("GLES20.glDeleteProgram(" + shader.getId() + ")");
}
Gdx.gl20.glDeleteProgram(shader.getId());
statistics.onDeleteShader();
}
示例6: deleteShader
import com.jme3.shader.Shader; //导入方法依赖的package包/类
public void deleteShader(Shader shader) {
if (shader.getId() == -1) {
logger.warning("Shader is not uploaded to GPU, cannot delete.");
return;
}
for (ShaderSource source : shader.getSources()) {
if (source.getId() != -1) {
if (verboseLogging) {
logger.info("GLES20.glDetachShader(" + shader.getId() + ", " + source.getId() + ")");
}
GLES20.glDetachShader(shader.getId(), source.getId());
// the next part is done by the GLObjectManager automatically
// glDeleteShader(source.getId());
}
}
// kill all references so sources can be collected
// if needed.
shader.resetSources();
if (verboseLogging) {
logger.info("GLES20.glDeleteProgram(" + shader.getId() + ")");
}
GLES20.glDeleteProgram(shader.getId());
statistics.onDeleteShader();
}