我应该改变哪个alpha?漫反射,镜面反射或环境光?
答案 0 :(得分:0)
你还没有准确地说出你在做什么,所以我假设你直接用glLightParameter
设置一个对象的颜色,而不是从纹理中提取它们。
要执行您想要的操作(只有一个数字可以完全控制对象的透明度),您需要将环境,漫反射和镜面反射颜色alphas设置为零。然后使用 emissive alpha设置透明度。
如果你正在使用纹理,那么你需要做更多的工作。您需要使用适当的纹理环境模型,该模型直接从固定功能照明中获取alpha而无需修改。
或者你可以使用着色器并抛弃所有这些固定功能的废话。它会为你节省很多麻烦。
答案 1 :(得分:0)
使用GL_SRC_ALPHA , GL_ONE
作为glBlendFunc();
例如:
glColor4f(1.0,1.0,1.0,alpha_value);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA , GL_ONE);
将alpha_value替换为您的要求....`