Skip to content
This repository was archived by the owner on Dec 12, 2022. It is now read-only.

Commit cdde685

Browse files
committed
Fix texture parameters and support vec2, vec4 properties
1 parent b4c35f7 commit cdde685

2 files changed

Lines changed: 17 additions & 5 deletions

File tree

src/app/elements/ParametersViewElement.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ export default class ParametersViewElement extends LitElement {
102102
const entity = this.entity;
103103
let definition = ObjectTypes[entity.baseType] ||
104104
MaterialTypes[entity.baseType] ||
105-
GeometryTypes[entity.baseType];
105+
GeometryTypes[entity.baseType] ||
106106
TextureTypes[entity.baseType];
107107
if (!definition) {
108108
definition = ObjectTypes.Object3D;

src/app/elements/values/KeyValueElement.js

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,14 @@ export default class KeyValueElement extends LitElement {
7070
case 'enum':
7171
valueElement = html`<enum-value .uuid="${this.uuid}" .type="${this.property}" .value="${this.value}"></enum-value>`;
7272
break;
73+
case 'vec2':
7374
case 'vec3':
74-
valueElement = [...new Array(3)].map((_, i) => html`<number-input
75+
case 'vec4':
76+
const arity = this.type === 'vec2' ? 2 :
77+
this.type === 'vec3' ? 3 : 4;
78+
valueElement = [...new Array(arity)].map((_, i) => html`<number-input
7579
.id="${i === 0 ? this._id : ''}"
76-
axis="${i === 0 ? 'x' : i === 1 ? 'y' : 'z'}"
80+
axis="${i === 0 ? 'x' : i === 1 ? 'y' : i === 2 ? 'z' : 'w'}"
7781
.value="${this.value[i]}"
7882
.min="${this.min}"
7983
.max="${this.max}"
@@ -149,9 +153,15 @@ export default class KeyValueElement extends LitElement {
149153
padding-left: var(--key-value-padding-left, 10px);
150154
}
151155
156+
#value[type="vec4"] number-input {
157+
width: 25%;
158+
}
152159
#value[type="vec3"] number-input {
153160
width: 33%;
154161
}
162+
#value[type="vec2"] number-input {
163+
width: 50%;
164+
}
155165
156166
</style>
157167
<label for="${this._id}">${this.keyName}</label>
@@ -185,10 +195,12 @@ export default class KeyValueElement extends LitElement {
185195
dataType = 'number';
186196
value = e.detail.value;
187197
break;
198+
case 'vec2':
188199
case 'vec3':
189-
dataType = 'vec3';
200+
case 'vec4':
201+
dataType = this.type;
190202
value = e.detail.value;
191-
// Add 'x', 'y' or 'z' to the property name
203+
// Add 'x', 'y', 'z', 'w' to the property name
192204
property = `${this.property}.${target.getAttribute('axis')}`;
193205
break;
194206
default:

0 commit comments

Comments
 (0)