Skip to content

Commit 579e6f9

Browse files
committed
added previewscript
1 parent f76e099 commit 579e6f9

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed

Diff for: previewScript.js

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
'use strict';
2+
3+
/* global goo */
4+
5+
var setup = function (args, ctx) {
6+
var RenderTarget = goo.RenderTarget;
7+
var MeshData = goo.MeshData;
8+
var Shader = goo.Shader;
9+
var Quad = goo.Quad;
10+
var MeshDataComponent = goo.MeshDataComponent;
11+
var MeshRendererComponent = goo.MeshRendererComponent;
12+
var Material = goo.Material;
13+
var FullscreenUtils = goo.FullscreenUtils;
14+
var Transform = goo.Transform;
15+
16+
var shader = {
17+
attributes: {
18+
vertexPosition: 'POSITION',
19+
vertexUV0: 'TEXCOORD0'
20+
},
21+
uniforms: {},
22+
vshader: [
23+
'attribute vec3 vertexPosition;',
24+
'attribute vec2 vertexUV0;',
25+
'varying vec2 textureCoord;',
26+
27+
'void main(void) {',
28+
' textureCoord = vertexUV0;',
29+
' gl_Position = vec4(vertexPosition.xy, 0.0, 1.0);',
30+
'}'
31+
].join('\n'),
32+
fshader: [
33+
'varying vec2 textureCoord;',
34+
35+
'void main(void){',
36+
' gl_FragColor = vec4(textureCoord.xy, 0.0, 1.0);',
37+
'}'
38+
].join('\n')
39+
};
40+
41+
var renderable = {
42+
meshData: FullscreenUtils.quad,
43+
materials: [new Material(shader)],
44+
transform: new Transform()
45+
};
46+
47+
var size = 64;
48+
var renderer = ctx.world.gooRunner.renderer;
49+
50+
ctx.renderTarget = new RenderTarget(size, size);
51+
renderer.render(renderable, FullscreenUtils.camera, [], ctx.renderTarget, true);
52+
var pixels = new Uint8Array(size * size * 4);
53+
renderer.readPixels(0,0,size,size,pixels);
54+
55+
// Draw the pixels to a canvas element
56+
var canvas = document.createElement('CANVAS');
57+
canvas.width = canvas.height = size;
58+
var context = canvas.getContext('2d');
59+
var imgData = context.createImageData(size, size);
60+
imgData.data.set(pixels);
61+
context.putImageData(imgData,0,0);
62+
63+
var texture = new goo.Texture(canvas, {
64+
wrapS: 'EdgeClamp',
65+
wrapT: 'EdgeClamp'
66+
}, size, size);
67+
ctx.entity.meshRendererComponent.materials[0].setTexture('DIFFUSE_MAP', texture);
68+
};
69+
70+
var cleanup = function (args, ctx) {
71+
ctx.entity.meshRendererComponent.materials[0].removeTexture('DIFFUSE_MAP');
72+
};
73+
74+
var update = function (args, ctx) {
75+
76+
};
77+
78+
var parameters = [];

0 commit comments

Comments
 (0)