43 lines
1.2 KiB
ActionScript
43 lines
1.2 KiB
ActionScript
RenderService@ mainRenderService;
|
|
|
|
FrameBuffer renderMeshPreview(GPUMesh mesh) {
|
|
return mainRenderService.renderMeshPreview(mesh);
|
|
}
|
|
|
|
void setSceneCamera (SceneCamera sc) {
|
|
}
|
|
|
|
class RenderService : Service {
|
|
void init() {
|
|
@mainRenderService = this;
|
|
env = Resource::createLoadEnvironment("PreviewerEnv");
|
|
|
|
child = env.getRootEntity().createChild("Render");
|
|
meshC = child.createMeshComponent();
|
|
ShaderComponent shaderC = child.createShaderComponent();
|
|
|
|
shaderC.shader = Resource::loadShader("shader.glsl");
|
|
|
|
|
|
Engine::print("CAM : " + sceneCamera.transform.position.x + " " + sceneCamera.transform.scale.x + " : " + sceneCamera.camera.aspect);
|
|
sceneCamera.transform.position.z = -3;
|
|
sceneCamera.transform.position.y = 1;
|
|
|
|
|
|
}
|
|
|
|
FrameBuffer renderMeshPreview(GPUMesh mesh) {
|
|
FrameBuffer buffer = Resource::createLoadRGBA8FrameBuffer(mesh.path, 128, 128, 4);
|
|
|
|
buffer.clearRGBA(0, 0, 0, 0);
|
|
meshC.meshResource = mesh;
|
|
mainRenderService.env.render(buffer, mainRenderService.sceneCamera);
|
|
|
|
return buffer;
|
|
}
|
|
|
|
Environment env;
|
|
SceneCamera sceneCamera;
|
|
MeshComponent meshC;
|
|
Entity child;
|
|
} |