#Lux's Devlog

1 messages · Page 7 of 1

tiny blaze
#

too bright

#

and those red particles are a bug

quiet birch
#

i feel like it expands way too much

#

other than that its great

lofty jacinth
#

not sure I like the particle effect

keen prawn
lofty jacinth
#

ah

#

lmao

lofty jacinth
#

but yeah, the expansion is a bit too much I guess

tiny blaze
#

it is when you look at it from an angle, like when i looked down on the plumes

#

the flare that the camera got

#

thats mostly a KSP2 camera issue

#

as they add that bloom to pretty much everything

#

but yeah, expansion is too much

tiny blaze
#

maybe for like a 10km alt is good, but not sea level

lofty jacinth
#

here's ~10 km

#

the plume expands more at the top than the bottom

tiny blaze
#

yeah tahts wierd lmao

#

but easy to do cuz i have the top separated MisatoPray

lofty jacinth
#

I'm no physicist, but probably because the further from the nozzle the plume is, the less dense and the less pressure it has, so the atmosphere compresses it more?

#

idk lmao

tiny blaze
#

makes sense yeah

lofty jacinth
#

here, for reference a sped up full burn from sea-level to near-vacuum and engine shutdown

#

you can see how at around 15 km altitude it starts transitioning into that wide-base thin-tail plume

tiny blaze
#

6km is body with

#

12-15 is 1.5

#

20km is twice

#

ok

keen prawn
#

Remember kerbins atmosphere is 70% of earths in height

lofty jacinth
#

yeah true

acoustic lava
#

Engines are off

median canopy
#

coughs spacex dragon coughs

tiny blaze
#

thats t tight fit

#

Fairing 🙏

scenic hull
tiny blaze
#

mesh details

#

as normals, would look too small

#

they are about 4k tris AsukaDead

tiny blaze
#

but since they are occluded for most of the time its ok, they dont get calculated by the shader

tiny blaze
#

thats why ie IVAs are so detailed, most of the time they are not calculated even if youre looking at them from outside

acoustic lava
#

buh

tiny blaze
#

one of the main changes with the LogBisect is this

#

a mesh intersection doesnt account for 2nd intersections

#

but logbisect does 🙏

#

gotta fix some precision errors (those dots)

tiny blaze
keen prawn
tiny blaze
#

check for urself

#

updated it a bit

#

check on the phone too

keen prawn
#

100 or so fps

tiny blaze
#

as for, ingame/unity, pretty good, theres still a lot to optimize

keen prawn
#

on pc

tiny blaze
#

it caps to your monitor hz

lofty jacinth
#

wtf I'm getting 30

#

or less

tiny blaze
#

yeah its caps

keen prawn
#

60 on phone

lofty jacinth
#

24-30

tiny blaze
#

ihave 75 cuz my monitor refresh rate is 75hz

keen prawn
#

do you have webgl/hardwware acceleration enabled?

tiny blaze
#

but yeah, it still has a lot of room for improvment because basically it is trying to find the intersection from the camera to the FAR value

lofty jacinth
tiny blaze
#

i have to do from the closest point to FAR

lofty jacinth
#

I think I disabled it because it was causing some visual glitches

tiny blaze
#

I KNOW I KNOW

#

im not good enought to turn that into branchless

#

i gotta do some reasearch on how to

#

probably a

max(0.0, EdgeT * (intersectionCount + 1));
max(0.0, EdgeT * (intersectionCount));
max(0.0, EdgeT * (intersectionCount - 1));
max(0.0, EdgeT * (intersectionCount - 2));

would take care of 4 of those conditionals already

keen prawn
#

@tiny blaze
can't you turn this into an ifdef? unless glsl doesn't work like that

    if(ANIMATE){
    LINEAR = sin(time) * .75;
    QUADRATIC = clamp((sin(time + 58.) +sin(time)) * .02, -.4, .4);
    RADIUS = max(.5,sin(time) + .25);
    }
tiny blaze
#

i think i can, let me check

#

btw shadertoy, you can change things and recompile on the fly, its pretty fucking cool

keen prawn
#

Yeah you can do this

#ifdef ANIMATE
    LINEAR = sin(time) * .75;
    QUADRATIC = clamp((sin(time + 58.) +sin(time)) * .02, -.4, .4);
    RADIUS = max(.5,sin(time) + .25);
    #endif
tiny blaze
#

done MisatoPray

#

the main problem as for conditionals is the ones inside the forloop

#

specially that crossed one

#

but i can't really avoid that one

#

actually, almost none of those i can avoid

#

For example, if the condition is one that is taken by every invocation in the wavefront, then no runtime divergence is needed. As such, the cost of the if is just the cost of checking a condition.

#

This is interesting

#

so ie the If(ANIMATE) is not bad

#

since every execution goes through it

keen prawn
#

it still has the slight cost of checking the condition

#

of+

#
if (true) {
}
tiny blaze
#

yeah thats true

#

gotta start using these

keen prawn
#

So essentially

edgeT = crossed * bisect(rayOrigin,rayDirection,oldT) + (1-crossed)*t;
tiny blaze
#

i think so? xD

quiet birch
#

in full screen

#

but lower res get like 60

tiny blaze
#

thats actually pretty good

#

bcuz its not meant for phones at all, so phones should be underperforming at like 5fps

tiny blaze
#

what was the hack to be able to play with thunderkit?

#

i can't profile the shader on scene view AsukaDead

keen prawn
#

#đź”´mod-dev message

#

So LFO is going completely volumetric?

tiny blaze
#

well the plan is to provide both volumetric and mesh for the modders

#

then they choose

#

but im guessing that everyone is going volumetric so shrug

#

gotta optimize everything pretty well tho

#

cuz i already plan on Plumes and Frost to be volumetric

rotund gyro
tiny blaze
#

the vapor from the frost would be volumetric

#

not the actual frost xD

potent aurora
#

@tiny blaze Is there a thread for your Patchouli mod?

tiny blaze
#

not really

#

yet

potent aurora
# tiny blaze IM BACK!

Well wherever you were I hope you had fun! Can you take a look at what I’ve been doing with my reactor models? I’m curious if I’m headed in the right direction to be able to have a configurable part that can be inline or open

tiny blaze
#

i promise to work on it soon

#

let me just recover a bit MisatoPray

#

and obviously

#

send the models!!

potent aurora
#

So, each part brings in two separate meshes, one that would be used in either mode (the base obviously), and one that is only used in the In-Line mode (top of course)

#

I'm hopething that this is the right general approach so that the top mesh can be switched on or off along with the attachment node associated with it.