-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix bug with baseColorFactor label in Alpha test #177
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
kcoley
approved these changes
Oct 6, 2017
kcoley
added a commit
that referenced
this pull request
Oct 18, 2017
* Updates for initial pass of GLTFWrapper * Added binary write support for Vector4 * Fix for empty images arraylist being converted to array * Added intellisense documentation to GLTFWrapper classes and methods * removed min and max properties for positions and normals * Removed image dependencies in Materials.ms and Common.ms * Adding Asset Generator Example project for demonstrating example usage of the GLTFWrapper * Squashed commit of the following: Removed AssetGeneratorExample project commit 775ca8360b3da10f177ec9a0a75b90d0d6c7cc96 Author: Kacey Coley <kcoley@users.noreply.github.com> Date: Wed Aug 23 16:58:52 2017 -0700 Removed AssetGeneratorExamplesProject * Added image copying attribute logic to AssetGenerator * Removed ExampleProject references from gitignore * Added AlphaMode to GLTFMaterial * Reverted VS Version back to original (15) * Initial implementation of recursively creating models (#3) * Save test values in objects and generate powerset of models to create * Set model parameters using power set * Remove need for Materials.cs and Add switch for test types * Remove completed TODO comment * Switched from string to enum for tracking names of parameters * Add general materials test model creation * Place models in folders named for their test group * Add check that removes duplicate combos for non-binary parameter sets * Action if statement feedback * Commiting initial set of unit tests * Add PowerSet support for required parameters (#15) * PowerSet now supports required parameters * Remove debug test * add transform support for GLTFMeshPrimitive * Switching order of ItemGroup compile includes to help resolve merge conflict * Removing whitespace in last itemgroup commit * Added material parameters for name, alphaCutoff and doubleSided to GLTFMaterial * Changed emissiveFactor to Vector3 from Vector4 (based on spec) * Switch over to using wrapper to build gtTL models (#21) * Switch from raw glTF building to using the API * Remove code wrapper replaced * Add missing 'else' * Added missing fields for the wrapper texture, image and sampler classes * Add missing comments for types in GLTFSampler * Added name for mesh * Refactored mesh to support passing in custom names * Making source and sampler parameters optional * re-add name setting for Texture * fixed typo with assigning indices to the wrong texture and texture coords for metallicroughness * Added initial classes for Accessors and Buffer wrappers * Move meshprimitive creation logic to mesh primitive wrapper * Create models that use PBR materials textures (#29) * Add parameters for BaseColorTexture test * Null Sampler crash * Add support for prerequisites on parameters * Add texture attribute else if checks * Fix isPrerequisite name bug * Fix bug removing combos containing no prerequisite * Combo bug fixes and Add function to check if two combos are equal * Add - between attributes in file name * Set image to copy on build * Add source attribute * Renable materials test * Added initial classes for Accessors and Buffer wrappers * Move meshprimitive creation logic to mesh primitive wrapper * refactored to use GLTFBuffer wrapper in building gltf * moved mesh creation to mesh wrapper * Name models by number and list attributes in asset info (#33) * Added initial classes for Accessors and Buffer wrappers * Move meshprimitive creation logic to mesh primitive wrapper * refactored to use GLTFBuffer wrapper in building gltf * moved mesh creation to mesh wrapper * using wrapper for positions and normals in mesh primitive * Added byteoffset to bufferview wrapper * Implemented material textures (#35) * Add parameters for BaseColorTexture test * Null Sampler crash * Add support for prerequisites on parameters * Add texture attribute else if checks * Fix isPrerequisite name bug * Fix bug removing combos containing no prerequisite * Combo bug fixes and Add function to check if two combos are equal * Add - between attributes in file name * Set image to copy on build * Add source attribute * Renable materials test * Add texture parameters to materials test * Add if switches for mat texture attributes * Fix typo * switched int values to enums in Sampler wrapper * Implement Sampler test group (#46) * Setup sampler test values * Remove redudant lines of code * Add sampler test if statement block * Remove required param logic and instead use required param array separately from powerset * Remove commented out code for Required Params * Use Sampler Enum for values * Sampler test uses cusome texture coord sets * Add a more practical test UV map * Add powerset summary * implement sampler index search * converted SamplerSearch to ObjectSearch generic * implement texture index search * implement image index search and unit test * Removed hard-coded enum in sampler wrapper * Change from all combinations to only make full sets and singles (#48) * Covert PowerSet function and dependants to use lists all the way through. * Add stopwatch to track perf against * Create basicset function * Cleanup * Stevk/logging (#49) * Write log to relate model number to attributes * Switch attribute listing from the generator field to the copyright * Remove old code * Really remove old code * refactored wrapper to support multiple scenes * Added missing comment documentation for wrapper components * adding additional comments * Stabilise creation of combos for textures and materials (#58) * Collapse PBR texture attributes into one check * Fix bug where the full set was being culled due to non-binary attributes * Add Alphamode Opaque test * Prevent combos that consist only of the name attribute * Fix textures to include all optional attributes * Replace bool check for if attribute is required with bool to track if it has dependant attributes * Remove previous bool check and cleanup * Create combos for prerequisite sets and fix prerequisite checks * Undo if statement change and fix issue #50 * Add full texture attribute combos * Remove extra binary attributes in the full combo * Give all texture assignments a source * Create custom combos for a few specific cases * Remove green texture in favor of UVmap2017 * Remove duplicate hardcoding of texture name * Refactor ParameterCombos to untangle some if statements * Flag the Sampler test as including non-binary attributes * Add the test name to log files * Basecolorfactor had alpha set to 0, which should make models not render (#60) * Set up new runtime directory with separate classes for each runtime object * add modified asset generator * removed GLTFAccessor and GLTFBuffer, and GLTFBufferView dependencies * fixing name issues in Mesh Runtime * removing name violation warnings in runtime classes and creating Runtime Scene and GLTF class * moved unittest directory * refactored classes to switch to using Runtime classes * Removed GLTFWrapper dependency * removed tests for gltfwrapper material, mesh primitives and wrapper * updated unit tests to use runtime classes and updated gitignore file paths for unit tests * Updated comments * removed commented out gltfwrapper line * switched to using glTF2Loader NuGet package instead of gltfLoader NuGet package * removed another commented out import statement * updated readme * added path to NuGet url for glTF2Loader * Removed Materials.cs file * switched min max for accessors to boolean toggle and enabled only for positions * Move PBR attributes into the materials test and tweak alpha test models (#68) * Set alpha factor to 1 in pbr test * Move PBR attributes into the materials test and fix MRT attribute that was set incorrectly * Add model to test alphamode_BLEND with a basecolorfactor * Fix typo in BaseColorFactor alpha value * added missing variables in unit test * Created derived Extras class with attribute data * fixed name violation with derived class * putting extra info within the Assets group * Per test, create md table of models and their attributes (#75) * Setup header for md * Add hyphens for header row * Prep header for a String,Join later * Use String.Join and an array to name the attributes used * Implement md logging * Add Extras class to avoid merge conflicts * Readd space to name in asset * Center md columns * Fix csv log to use array by using String.join * Fix md bug where attributes with the same name but different prerequisites were treated as the same in logging * Add prerequisite name to attribute name in md header where appropriate * Add spaces to attribute names in md log, to make them more readable * Make Nonbinary attributes share a single column * Merge source into texture parameter for materials and sampler tests * Stop setting name attribute * Stop setting sampler and texcoord * Reorder material test models * Have md log use blanks instead of red X for unused attributes * Fix bug with md output order * Insert full prereq sets next to the basic version * Include basecolorfactor when testing alphamask * Remove Opaque and create an empty set * Clean up code * Use a plane instead of triangle for models * Reorder MRT combo * Change mesh and UV order for plane * Changed mesh and UV order for plane again * Fix bug with nonbinary attributes in full sets * Remove Repeat WrapS and WrapT in Sampler test (#82) * removed texture coords values in Samplers Test * flipped plane model * updated uvs coords * fixed uvs - reversed them * Delete old output each time the app is run (#88) * adding initial commit for morph target support * added unit tests for morph targets * added weights to unittests * Name md files README.md so that github will display their contents and make samplers plural * referenced generated-assets branch in README * using relative path to generated-assets branch * using abs path to generated-assets path * fixed bug with buffer offset for multiple mesh primitives * updated unit tests * tangents and colors to mesh primitives (#107) * added tangents support * added tangents support to morph target * Added Colors to Mesh Primitives * add ubyte and short support for MeshPrimitive * cleaning up some old comments * added missing case for texturecoordsets * redoing using enums to set the accessor modes for colors and texture coords * fixed name violation * adding comments for enums * Move the directory before deleting it, to prevent lockouts (#109) * removing unused models from Common * removing cube model * switched tangents to vec4 * first pass * use normalize variable and dictionary to determine which accessor to create * Changing Color Accessor Mode to use Enum Flags. Reorg-ed color accessor logic to be switch statements * Have texture coords accessor logic match syntax of color accessor * removed unused line in unit tests * Added unit test for color enum * squeezing out extra line breaks * use struct to represent image index data * Adding Indices to MeshPrimitive * using camel case instead of underscores in variable names * more underscore removal * Adding additional unit test for indices to verify count in accessor * removing min max from all params except position * clean up code * Adding byte align logic for color and texture coords * fixed bug in incorrect byte size * Implement Primitive Attributes Test (#112) * Initial implementation of parameter attribute test * Change test values to rely on wrapper to convert float to byte or uShort in testvalues * Implement Tangent test * Use all positive values for UV Coords so byte and ushort don't cause a crash * MD log creation no longer consolidates parentchild parameters that are nonbinary * Fix bug where no uvCoords were being set * Change uvCoords so they apply texture to different parts of the model * Use emissive as a second texture * Use new Enum settings for color * Use Vec4 for color * Change requiredParameters to use List instead of array and apply emissive texture only as needed * Use occlusion instead of emissive * Include a basecolor texture and UV in every test model * Remove commented out code * Add combos with TexCoords and Color for both byte and short * MD column names now are more readable for attributes with prerequisites * MD column names now add a space before a number * Readd newline at the end of testvalues.cs * Ensuring that color accessor enum has a 0 value * Switching enum to two in mesh primitive * updating unit tests and program.cs * Name change for color component type and texture coords component type * Changed comment for Mode * Centered coordinates for plane * Split some tests, rename the tests/folders, and improve the MD log's formatting (#137) * Split the materials test into mats and PBR * Set up tangent so that normal isn't included in its name * Make md header text smaller * Split Materials into Materials and Alphas * Expand MD table to show attributes used in all models * Add linebreak to md header * Fix the md header linebreak again * Fix bug with prerequsite name in md log * Output values in Prereq header in md log and tweaks * Use attribute values in prerequ table * Format image string so that it links and is resized * Put brackets around vectors in the log * Use name of image to create link in mn instead of a static link * Reduce image size and lock height instead of width * Tweak image height and values for all attributes in MD table * Rename PBR to MEtallicRoughtnessMaterial * Add s to MRM * MD log formats floats in vec to show two digits * Rename all tests to a Parent_Test structure * Use normal casing for enum names * Add note detailing that byte and short are always normalized unsigned * Use a normal texture instead of occlusion in Primitive_attribute test * Fix bug with alpha attribute names in md log still being in all caps * Fix bug with Sampler attribute names getting linebreaks when they shouldn't * Fix linebreak in md log * Fixed bug where the md table would write an extra space into the front of some attributes * Improve image centering in md table * Remove linebreak in md table from color attribute values * Change md header text * Only show Byte/Short message if those attributes are used * Fix spacing for color attributes in md table * Link table to relevant model * Added Cube model * removed wrapper from model function names * removed unused parameters from SinglePlane, SingleCube and SingleTriangel * Added asset and extras to runtime abstraction * prefixing schema gltf variable to help with code clarity * Refactor TestValues.cs and Program.cs into more logical classes (#149) * Create LogStringHelper and move table string functions into it * Use optional parameters when creating a Parameter object * Use the word Attribute instead of Parameter and Param * Use optional parameters for custom combo creation * Create Attribute, ComboHelper and Enums files and move relevant functions from TestValues into them * Break the values for each test into its own subclass * Split logic for making logs into its own class * Remove commented out log code * Split logic for setting model attributes into the relevant test classes * Move enums into attribute.cs and TestValues.cs * Rename attribute to property * Use reflection to create test classes * Use the new textures and use reflection to copy them into the output folders * Move logic for deleting old output and copying in image files into a new helper class * Use switches when applying attributes for some tests * Action feedback * Action more feedback * use VEC4 instead of VEC3 for Tangents * switch to using geometryData to get the byte offset in meshprimitive * do not set buffer bytelength if equal to 0 or exception gets raised * fix bug in setting the bufferOffset too late * Fix textures so that none of them give the apperance of being broken when viewed (#164) * Simplify basecolor texture used for sampler test * Textures use 1:1 mapping for all tests unless specified in the test * Make UV tests in Primitive_Attributes use 1:1 mapping * Collapse Primitive_Attribute switch into if checks * Switch second texture in Primitive_Attribute to metallicRoughness for higher visibility * Make changes with alpha attributes more apparent and remove unneeded emissive texture model (#169) * Use a basecolortexture instead of normal for alpha test models * Remove solo emissive texture model because the default emissive factor is none * Make changes in alpha easier to see and add an alpha specific texture * Remove alpha factor from most alpha tests, since we're using a texture now instead * use indices for plane * Fixed bug in bytelength calculation for Color for non-float types * use four vertices instead of 6 for overrides * Increace alpha cuttoff value enough so that we can see the significant figure in the md table (#178) * Fix bug with colorfactor label in Alpha test (#177) * Bug fixes for v0.2 milestone (#183) * Use normal texture with normalcoord and tangent coord * Show the Tex coord 0 as float everywhere in the log for Primitive_Attribute * Big change which allows explicit inserting of properties into combos * Hide TexCoord required property from the MD tabel * Pad number in model names * Add new textures * Fix bug where some primitive attribute models had TexCoord0 set twice * Fix bug with value used for emissive factor * Make BaseColorFactor 0.2 in Material_MetallicRoughness * Fix bug where normal texture wasn't correctly set in Primitive_Attribute * Quadruple size of textures in MD tabels * Remove normal from the base model and only add as needed * Remove normal texture line from Material_Alpha * Fix bug where float was left off of table in primitive_attributes * Change metallic roughness factors to 0.0 and remove test when both factors are set * Only declare normal texture if it is being used in Primitive_Attribute * Fix bad merge * Don't show basecolortexture as a required property in Primitive_Attribute * added scale for normal and strength for occlusion (#189) * update readme with more covered requirements * Remove some unnecessary primitive attributes tests * Add material base color factor and adjust normal scale * Update vertex color values * Update to the latest textures and update alpha factor values * Delete unnecessary add files from merge * moved initialization of metallic roughness property * added mode enum support in meshprimitive * added support for points * changed order for points * Use templates for creating MD logs (#209) * Initial implementation of using templates for MD logs * Remove unused parameter * Remove extra lines from templates and remove header table from MetallicRoughness * Use .md for the templates for easier editing * Use images as embedded resources * Move images to Tests folder * Remove old static log header strings * Add combos involving vertex color to Alpha and MetallicRoughness, and change how we test UV1 (#202) * Add color property into alpha test set * Rename color to VertexColor and use different alpha values for each vertex * Renamed other properties to include the word vertex * Move Normal Texture next to other textures in Primitive_Attribute log * Don't test texture/vertexcolor in combo in Primitive_Attribute * Add Vertex color combos to PBR * Switch between two UVs of a single texture instead of trying to apply multiple textures in Primitive_Attribute * Lock image width in MD log * Add cutoff value to Material_Alpha 08 so that it gets a hole * Test normal texture without setting a vertex normal * Fix bug where texture was declared but not used in Primitive_Attribute * Move UV texture next to other UV textures in log for Primitive_Attribute * Fix normal texture order issue with Primitve_Attribute * Move models that use the basecolortexture next to each other in the MD log for MetallicRoughness * Move models that use the basecolortexture next to each other in the md log for Material_Alpha * initial commit wip * new updates for spec gloss * updates on internal - only at class level * renaming materialPbrSpecularGlossiness to PbrSpecularGlossiness * making test class constructors back to public and removing older spec gloss extension implementation * changed conversion function name to ConvertToSchema * Set the extension when used in the gltf file * changed Program.cs back to internal * ignore .vs location * removing .vs from version control * Initial implementation of Material_SpecGloss test set * Use casting to set values for PBRSpecGloss * Add PBRSpecGloss textures * Split occlusion/metallicRoughness texture * Add UV icons to Primitive_Attribute MD log to show how we're mapping textures (#216) * Add UV icon to Primitive_Attribute MD log * Shorten UV explaination in Primitive_Attribute * Refer to the UV textures as 0 and 1 to be consistant * Add Material_SpecularGlossiness test set (#214) * Initial implementation of Material_SpecGloss test set * Use casting to set values for PBRSpecGloss * Add PBRSpecGloss textures * Rename textures to match glTF names * Fix new texture filename case * Override the default value of SpecFactor when testing Diffuse Texture * Use a shallow copy to set SpecGloss properties * Resolve more merge conflicts * Merge conflicts * Merge conflicts * Add occlusion tests to MetallicRoughness * Add occlusion tests to SpecGloss * Remove occlusion from PBR and update Material to use the right texture * Limit the types of VertexColor we test in Alpha, MetallicRough, and SpecGloss * Remove outdated header from Material_Alpha * Fix bugs for v0.3 release (#222) * Remove Diffuse Factor from model 5 in SpecGloss * Fix empty set for SpecGloss and MetallicRough * Move VertexColor to the front of the log in SpecGloss/MetallicRough/Alpha * Change case on textures * Remove basecolorfactor from test with colorfactor and basecolortexture * Remove lambert2 from the texture names * Update README.md * Add line break in primitive attribute template so UV texture table renders properly on GitHub
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes bug #173