/** * Create the {@link ProgramModel} instances */ private void createProgramModels() { Map<String, Program> programs = Optionals.of(gltf.getPrograms()); for (int i = 0; i < programs.size(); i++) { programModels.add(new DefaultProgramModel()); } }
Program program = gltf.getPrograms().get(programId); String vertexShaderId = program.getVertexShader(); String fragmentShaderId = program.getFragmentShader();
/** * Initialize the {@link ProgramModel} instances */ void initProgramModels() { Map<String, Program> programs = Optionals.of(gltf.getPrograms()); for (Entry<String, Program> entry : programs.entrySet()) { String programId = entry.getKey(); Program program = entry.getValue(); DefaultProgramModel programModel = get("programs", programId, programModels); programModel.setName(program.getName()); String vertexShaderId = program.getVertexShader(); DefaultShaderModel vertexShaderModel = get("shaders", vertexShaderId, shaderModels); programModel.setVertexShaderModel(vertexShaderModel); String fragmentShaderId = program.getFragmentShader(); DefaultShaderModel fragmentShaderModel = get("shaders", fragmentShaderId, shaderModels); programModel.setFragmentShaderModel(fragmentShaderModel); } }
/** * Validate the {@link GlTF#getPrograms()} * * @param currentContext The optional {@link ValidatorContext} of the glTF * @return The {@link ValidatorResult} */ private ValidatorResult validatePrograms(ValidatorContext currentContext) { ValidatorContext context = new ValidatorContext(currentContext); ValidatorResult validatorResult = new ValidatorResult(); validatorResult.add(validateElements( getGltf().getPrograms(), "programs", false, context, programValidator::validateProgram)); if (validatorResult.hasErrors()) { return validatorResult; } return validatorResult; }
getGltf().getPrograms(), programId, context)); if (validatorResult.hasErrors()) Program program = getGltf().getPrograms().get(programId);
getGltf().getPrograms(), programId, context)); if (validatorResult.hasErrors())
String programId = GltfIds.generateId("program", gltf.getPrograms());
/** * Compute the {@link IndexMappingSet} for the given glTF instance. * The {@link IndexMappingSet} will contain index mappings for all * top-level dictionaries of the given glTF. * * @param gltf The glTF * @return The {@link IndexMappingSet} */ static IndexMappingSet create(GlTF gltf) { IndexMappingSet indexMappingSet = new IndexMappingSet(); indexMappingSet.generate("accessors", gltf.getAccessors()); indexMappingSet.generate("animations", gltf.getAnimations()); indexMappingSet.generate("buffers", gltf.getBuffers()); indexMappingSet.generate("bufferViews", gltf.getBufferViews()); indexMappingSet.generate("cameras", gltf.getCameras()); indexMappingSet.generate("images", gltf.getImages()); indexMappingSet.generate("materials", gltf.getMaterials()); indexMappingSet.generate("meshes", gltf.getMeshes()); indexMappingSet.generate("nodes", gltf.getNodes()); indexMappingSet.generate("programs", gltf.getPrograms()); indexMappingSet.generate("samplers", gltf.getSamplers()); indexMappingSet.generate("scenes", gltf.getScenes()); indexMappingSet.generate("shaders", gltf.getShaders()); indexMappingSet.generate("skins", gltf.getSkins()); indexMappingSet.generate("techniques", gltf.getTechniques()); indexMappingSet.generate("textures", gltf.getTextures()); return indexMappingSet; }