Skip to content
This repository has been archived by the owner on Aug 21, 2024. It is now read-only.

Lit and Unlit modes implementation #10408

Merged
merged 30 commits into from
Jul 17, 2024
Merged
Changes from 1 commit
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
bf3dc18
add isEditor in Editor2Page
aditya-mitra Jun 18, 2024
c79a4a2
fix drop shadows
SYBIOTE Jun 18, 2024
6938b63
Merge branch 'dev' into lit-unlit-render-mode
SYBIOTE Jun 18, 2024
4965abe
Merge branch 'dev' into lit-unlit-render-mode
aditya-mitra Jun 19, 2024
3e7cb17
Merge branch 'dev' into lit-unlit-render-mode
aditya-mitra Jun 20, 2024
a2748a3
do not show shadows in lit and unlit modes
aditya-mitra Jun 20, 2024
91b6c66
Merge remote-tracking branch 'origin/lit-unlit-render-mode' into lit-…
aditya-mitra Jun 20, 2024
12bada8
hide lights in unlit mode except for ambient
SYBIOTE Jul 1, 2024
856ed97
temp ambient light
SYBIOTE Jul 1, 2024
98ec3bb
move from reactor to execute loop
SYBIOTE Jul 1, 2024
f169dd5
Merge branch 'dev' into lit-unlit-render-mode
SYBIOTE Jul 1, 2024
bdb53fb
Merge branch 'dev' into lit-unlit-render-mode
SYBIOTE Jul 2, 2024
65bf64c
fix conflict
SYBIOTE Jul 2, 2024
751cf89
fix conflict
SYBIOTE Jul 2, 2024
411f028
make viewport lighting into a seperate system
SYBIOTE Jul 4, 2024
7d17174
add License
SYBIOTE Jul 4, 2024
5ef6546
seperate primitive geom check
SYBIOTE Jul 4, 2024
1607e53
use enums
SYBIOTE Jul 4, 2024
4f12d6b
Merge branch 'dev' into lit-unlit-render-mode
SYBIOTE Jul 4, 2024
2d397b2
change root to origin entity
SYBIOTE Jul 5, 2024
b8d9a11
Merge branch 'dev' into lit-unlit-render-mode
SYBIOTE Jul 10, 2024
4d9bd44
remove primitve geom check from model check
SYBIOTE Jul 14, 2024
0ea7f51
Merge branch 'dev' into lit-unlit-render-mode
SYBIOTE Jul 14, 2024
02014b7
Merge branch 'dev' into lit-unlit-render-mode
SYBIOTE Jul 15, 2024
a5d67ed
Drop shadow fixes
MichaelEstes Jul 16, 2024
00e070e
revert
MichaelEstes Jul 16, 2024
7eb94e7
Merge branch 'dev' into lit-unlit-render-mode
MichaelEstes Jul 16, 2024
11e778d
Merge branch 'lit-unlit-render-mode' into drop-shadows
MichaelEstes Jul 16, 2024
3fcffb5
CSM shadow and drop shadow systems need different insert orders
MichaelEstes Jul 16, 2024
b8225bf
Merge pull request #10625 from EtherealEngine/drop-shadows
MichaelEstes Jul 16, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions packages/spatial/src/renderer/functions/changeRenderMode.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,13 @@ import { MeshBasicMaterial, MeshNormalMaterial } from 'three'
import { Engine, getComponent } from '@etherealengine/ecs'
import { getState } from '@etherealengine/hyperflux'

import { RenderModes } from '../constants/RenderModes'
import { EditorState } from '../../../../editor/src/services/EditorServices'
import { iterateEntityNode } from '../../transform/components/EntityTree'
import { RendererState } from '../RendererState'
import { RendererComponent } from '../WebGLRendererSystem'
import { GroupComponent } from '../components/GroupComponent'
import { setVisibleComponent } from '../components/VisibleComponent'
import { RenderModes } from '../constants/RenderModes'

/**
* Change render mode of the renderer
Expand Down Expand Up @@ -60,24 +64,20 @@ export function changeRenderMode() {
(p) => p.name === 'RenderPass'
) as any
const renderPass: RenderPass = passes ? passes[0] : undefined

if (!renderPass) return

switch (renderMode) {
case RenderModes.UNLIT:
// See above comment
// iterateObject3D(Engine.instance.scene, (obj: Light) => {
// if (obj.isLight && obj.visible) {
// obj.userData.editor_disabled = true
// obj.visible = false
// }
// })
renderPass.overrideMaterial = null!
break
case RenderModes.LIT:
renderPass.overrideMaterial = null!
break
case RenderModes.SHADOW:
iterateEntityNode(getState(EditorState).rootEntity, (entity, index) => {
const groups = getComponent(entity, GroupComponent)
for (const group of groups) {
if ((group as any).isLight && !(group as any).isAmbientLight) {
setVisibleComponent(group.entity, renderMode !== RenderModes.UNLIT)
}
}
})
renderPass.overrideMaterial = null!
break
case RenderModes.WIREFRAME:
Expand Down
Loading