You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							42 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							42 lines
						
					
					
						
							1.5 KiB
						
					
					
				| // David Eberly, Geometric Tools, Redmond WA 98052 | |
| // Copyright (c) 1998-2021 | |
| // Distributed under the Boost Software License, Version 1.0. | |
| // https://www.boost.org/LICENSE_1_0.txt | |
| // https://www.geometrictools.com/License/Boost/LICENSE_1_0.txt | |
| // Version: 4.0.2019.08.13 | |
|  | |
| #pragma once | |
|  | |
| #include <string> | |
|  | |
| namespace gte | |
| { | |
|     struct VertexAttribute | |
|     { | |
|         VertexAttribute(std::string inSemantic = "", void* inSource = nullptr, size_t inStride = 0) | |
|             : | |
|             semantic(inSemantic), | |
|             source(inSource), | |
|             stride(inStride) | |
|         { | |
|         } | |
| 
 | |
|         // The 'semantic' string allows you to query for a specific vertex | |
|         // attribute and use the 'source' and 'stride' to access the data | |
|         // of the attribute.  For example, you might use the semantics | |
|         // "position" (px,py,pz), "normal" (nx,ny,nz), "tcoord" (texture | |
|         // coordinates (u,v)), "dpdu" (derivative of position with respect | |
|         // to u), or "dpdv" (derivative of position with respect to v) for | |
|         // mesh vertices. | |
|         // | |
|         // The source pointer must be 4-byte aligned.  The stride must be | |
|         // positive and a multiple of 4.  The pointer alignment constraint is | |
|         // guaranteed on 32-bit and 64-bit architectures.  The stride constraint | |
|         // is reasonable given that (usually) geometric attributes are usually | |
|         // arrays of 'float' or 'double'. | |
|  | |
|         std::string semantic; | |
|         void* source; | |
|         size_t stride; | |
|     }; | |
| }
 | |
| 
 |