I eventually found it. In pbr.program I had disabled a few things:
Code: Select all
fragment_program glTF2/PBR_fs_glsl glsl
{
source pbr-frag.glsl
preprocessor_defines MANUAL_SRGB,SRGB_FAST_APPROXIMATION,HAS_NORMALS,HAS_TANGENTS,HAS_BASECOLORMAP,HAS_NORMALMAP,HAS_EMISSIVEMAP,HAS_METALROUGHNESSMAP
}
// ,USE_TEX_LOD,HAS_OCCLUSIONMAP,USE_IBL,
but in the PBR_material there were sampler settings that didn't exist so I commented them out.
Code: Select all
// GL sampler settings
param_named u_BaseColorSampler int 0
param_named u_NormalSampler int 1
param_named u_EmissiveSampler int 2
param_named u_MetallicRoughnessSampler int 3
// param_named u_OcclusionSampler int 4
// param_named u_DiffuseEnvSampler int 5
// param_named u_SpecularEnvSampler int 6
// param_named u_brdfLUT int 7
Is there a way to do an #ifdef in the materal file to make it cleaner so that it would run and work no matter what?