[glsl-new] add vec2 and vec3

This commit is contained in:
Pelle Johnsen
2020-08-07 04:49:43 +00:00
committed by Dzmitry Malyshau
parent 6db5b373f8
commit f98054afdd
2 changed files with 22 additions and 0 deletions

View File

@@ -111,6 +111,8 @@ pub fn consume_token(mut input: &str) -> (Option<Token>, &str) {
meta.chars.end = start + pos;
match word {
"void" => (Some(Token::Void(meta)), rest),
"vec2" => (Some(Token::Vec2(meta)), rest),
"vec3" => (Some(Token::Vec3(meta)), rest),
"vec4" => (Some(Token::Vec4(meta)), rest),
//TODO: remaining types
_ => (Some(Token::Identifier((meta, String::from(word)))), rest),

View File

@@ -462,6 +462,26 @@ pomelo! {
}
type_specifier_nonarray ::= Void { None }
type_specifier_nonarray ::= Vec2 {
Some(Type {
name: None,
inner: TypeInner::Vector {
size: VectorSize::Bi,
kind: ScalarKind::Float,
width: 4,
}
})
}
type_specifier_nonarray ::= Vec3 {
Some(Type {
name: None,
inner: TypeInner::Vector {
size: VectorSize::Tri,
kind: ScalarKind::Float,
width: 4,
}
})
}
type_specifier_nonarray ::= Vec4 {
Some(Type {
name: None,