Skip to content

Commit

Permalink
feat: render to texture (#236)
Browse files Browse the repository at this point in the history
* add textureCamera and cameralayers component

* update

* add camera_layer

---------

Co-authored-by: robtfm <[email protected]>
  • Loading branch information
leanmendoza and robtfm authored Jan 27, 2025
1 parent 591a12f commit fdbbfb3
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 1 deletion.
30 changes: 30 additions & 0 deletions proto/decentraland/sdk/components/camera_layer.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
syntax = "proto3";

package decentraland.sdk.components;

import "decentraland/sdk/components/common/id.proto";
import "decentraland/common/colors.proto";

option (common.ecs_component_id) = 1210;

message PBCameraLayer {
// layer to which these settings apply. must be > 0
// Layer 0 is the default "real world" layer viewed by the player and cannot be modified.
uint32 layer = 1;

// should the sun light affect this layer? default false
optional bool directional_light = 2;

// should this layer show player avatars? default false
optional bool show_avatars = 3;

// should this layer show the sky? default false
optional bool show_skybox = 4;

// should this layer show distance fog? default false
optional bool show_fog = 5;

// ambient light overrides for this layer. default -> use same as main camera
optional decentraland.common.Color3 ambient_color_override = 6;
optional float ambient_brightness_override = 7;
}
11 changes: 11 additions & 0 deletions proto/decentraland/sdk/components/camera_layers.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
syntax = "proto3";

package decentraland.sdk.components;

import "decentraland/sdk/components/common/id.proto";

option (common.ecs_component_id) = 1208;

message PBCameraLayers {
repeated uint32 layers = 1;
}
2 changes: 1 addition & 1 deletion proto/decentraland/sdk/components/global_light.proto
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,5 @@ message PBGlobalLight {
optional decentraland.common.Color3 ambient_color = 2;
// ambient light intensity. the explorer default ambient brightness is multiplied by this non-physical quantity.
// default 1
optional float ambient_brightness = 3;
optional float ambient_brightness = 3;
}
41 changes: 41 additions & 0 deletions proto/decentraland/sdk/components/texture_camera.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
syntax = "proto3";

package decentraland.sdk.components;

import "decentraland/sdk/components/common/id.proto";
import "decentraland/common/colors.proto";

option (common.ecs_component_id) = 1207;

message PBTextureCamera {
// rendered texture width
optional uint32 width = 1;
// rendered texture height
optional uint32 height = 2;
// which layer of entities to render. entity layers can be specified by adding PBCameraLayers to target entities.
// defaults to 0
optional uint32 layer = 3;

// default black
optional decentraland.common.Color4 clear_color = 6;
// default infinity
optional float far_plane = 7;

oneof mode {
Perspective perspective = 8;
Orthographic orthographic = 9;
/* Portal portal = 10; */
};
}

message Perspective {
// vertical field of view in radians
// defaults to pi/4 = 45 degrees
optional float field_of_view = 1;
}

message Orthographic {
// vertical extent of the visible range in meters
// defaults to 4m
optional float vertical_range = 1;
}

0 comments on commit fdbbfb3

Please sign in to comment.