#Rosy

1 messages · Page 5 of 1

cloud rivet
#

this is very clearly intentionally not doing that

wraith urchin
#

Can I see your VS though?

cloud rivet
#

my VS?

#

oh

wraith urchin
#

vertex shader

wraith urchin
#

Oh he does all his lighting in tangent space?

cloud rivet
#

yeah

#

as am I

wraith urchin
#

I see, I do it in view space

#

that might be where I'm consfused here

cloud rivet
#

I don't think my shader is wrong

#

clearly something is wrong

#

reading the mittick code

#

I think it's the tangents

#

because it points out seams as a problem that appears

wraith urchin
#

Well if you set up mikktspace you can be sure the tangents are correct

cloud rivet
#

yeah

#

trying to figure that out

#

I removed that screenshot since it's copyrighted

#

idk

#

he intentionally does not publish digital versions

#

he has new discord

#

it's harder to understand what is being said there than the math discord

wraith urchin
#

Alright its eepy time for me, probably a good idea to set up mikktspace for now at least

#

Good night

cloud rivet
#

thank you for your help!

#

oh I get it

#

you implement the interface with a set of functions that return the various data it requests and then it calls a set tangent function you implement

#

and you get the correct tangents

#

ah

#

they don't return data, it's C, you write the data to pointer parameter args

#

I think I can do this

#

it's kind of refreshing having a problem not related to using vulkan lol

#

this is just a graphics programming thing

true moon
#

Just wait until you're implementing gameplay

#

I've gone a long time without even touching a graphics problem specifically

#

more variety is fun

#

unless that variety involves multiplayer

#

in which case it's not

cloud rivet
#

I can't use mikktspace without a ton of work

#

the code has too many warnings to fix

#

and visual studio isn't letting me disable them

#

I'm not going to turn off warnings as errors

#

I got better things to do than fix some other person's code rn

#

I don't care about these banners

#

I'm going to add the nice lighting and I'm going to start working on my game

#

after that

cloud rivet
#

I'm just going to start working on my game tbh

#

I'm not going to give up on sponza, I'm just going to take a break from it

#

there's tangent generator code in lengyel

#

when I get bored I'll work on sponza some more later

true moon
#

You should recruit your daughter to make some placeholder game art for you lol

#

good age to learn blender and be subject to some forced familial labor

cloud rivet
#

she said "yeah of course"

#

I asked her to make a 3D robot for me

true moon
#

haha cool

cloud rivet
#

she had blender open last week doing something

#

she's also super busy with school, her school is tough

#

way harder than my rural high school was

true moon
#

mine was reasonably hard although I didn't take particularly hard classes until I was a senior at which point I switched to community college instead and then was swamped

#

but yeah school can take a lot of time

#

even high school

cloud rivet
#

hrm

#

When I got out of the marines I went to community college for a year

#

it was pretty cool

#

really cheap

true moon
#

I went there for 3 (one year of high school and two of college) and then transferred to UCD, cut the cost in half

cloud rivet
#

yeah I got an associates degree in that too

#

same deal, it only took me 1.5 years to get through it, I didn't have a lot going on

#

was adjusting to civilian life

true moon
#

I just took a lot of classes since I didn't really know what I wanted to do

cloud rivet
#

I thought I wanted to computer science, but then I decided I wanted to become a police officer and that community college had POST training

#

but then I took an anthropology course and thought it was cool and did that instead KEKW

#

idk why gpAkkoShrug

#

oh I remember

#

I took an administrative justice course

#

and the retired police officer who taught that was a nice guy but he wouldn't allow anyone to record his lectures

#

because he was upfront about what the job was

#

and I didn't want any part of it

true moon
#

I took their whole programming series in Java and then retook it in C++ the next year which gave me a lot of extra exposure and fluency that accelerated my whole CS learning path... then I switched to physics on a whim lol (but kept taking CS coursework)

#

CC facilitated that messing around to figure out what I wanted, for nearly free

cloud rivet
#

nice

#

I didn't take any CS in college

astral hinge
#

for some reason I thought you immigrated from Germany

#

I think it was because of your name and current location

#

the only other Bjorn I knew was my Valheim character from years ago

#

if that sounds ignorant, it's because it is

true moon
#

Swede probably

astral hinge
#

Bjorn is a cool name anyway

#

it's like inverse nominative determinism

cloud rivet
#

I did live in Germany as a child for a good while

#

my mom was German

wraith urchin
#

You will need correct tangents even if you are modelling yourself

cloud rivet
#

Yeah I will try and use Lengyel’s approach once I need to

wraith urchin
#

I dunno I still recommend mikktspace as that is what blender (& several other tools) use. So you can be sure that your tangents match what you see there

cloud rivet
#

yeah seemed simple to use

#

it just wasn't letting me wrap the errors with pragmas

wraith urchin
#

You could also create it as a separate project (in the same solution), then link that as a static lib?

#

You could set whatever options you want for that project

cloud rivet
# cloud rivet

I like this color scheme, I'm gonna use this for my game I think

wraith urchin
#

The robot will be painted like that?

cloud rivet
#

it's just sort of a guiding palette for the whole game

wraith urchin
#

Was just gonna say it looks like Wall-E might be #EFC88B

cloud rivet
#

they basically just shrunk short circuit and painted him differently

wraith urchin
#

Are you trying to avoid looking like that? I think there's nothing wrong with it IMO

cloud rivet
#

I think I may be unconciously inspired a bit too much by pixar and star wars robots

#

and I'm trying to avoid it and do something that's mine I guess

wraith urchin
#

Ehh, I dunno just roll with whatever feels right to you

#

I wouldn't worry about trying to be 100% original

#

The best stuff never is

cloud rivet
#

I am trying to turn into my robot somehow

#

:P

true moon
#

The color scheme is just fairly common construction equipment colors so it being similar to wall E is just sharing an inspiration

astral hinge
cloud rivet
#

I think Lengyel's index math is just the same think as mikktspace

#

I'm gonna just implement that

#

real quick

#

it's tiny

#

it does the same thing, uses faces texture coordinates, normals and vertex positions to calculate the tangents

#

then I don't have to have ancient unmaintained c coode I need to quarantine

wraith urchin
#

As long as it works

#

But I had a really lengthy annoying battle with seams until I added mikktspace, but its up to you

#

YMMV

cloud rivet
#

is there a higher profile math person in the industry than Lengyel? Fletch Dunn in their 2011 book reference Lengyel, Jason Gregory reference Lengyel in the Math chapter, Essential Game math does also

wraith urchin
#

I'm not saying lengyel is wrong, I'm certain he's correct

#

the problem is there is more than 1 correct tangent space for a mesh

#

and blender uses the mikktspace one

cloud rivet
#

yes I saw that

#

I haven't figured out how to get blender to open houdini exported files

#

I am not sure how I am going to actually ingest assets yet

wraith urchin
#

Are you using Houdini? I've always wanted to try it

cloud rivet
#

I am learning it

#

I wouldn't say I'm using it

#

it is uh, expansive

#

they have a node editor for rendering

wraith urchin
#

I interviewed there once for a job, they're in toronto actually

cloud rivet
#

where one of the nodes can be a gltf export

#

but

#

blender refuses to open it

#

also refuses to open the fbx also

wraith urchin
#

Blender FBX is borked lol

cloud rivet
#

and I look at the gltf I think it may be like not real gltf

wraith urchin
#

Like houdini is exporting borked gltf?

cloud rivet
#

I am too ignorant to say

wraith urchin
#

Does houdini support USD?

#

try USD if so

cloud rivet
#

so

#

houdini has this ROP concept

wraith urchin
#

ROP?

cloud rivet
#

which is "rendering operations" ?

#

and you can just imagine a massive library of these

#

like

#

huge

#

I think maybe the people at Side Effects themselves are probably unsure of everything Houdini can do

wraith urchin
cloud rivet
wraith urchin
#

So can you export USD? or is it more complicated?

cloud rivet
#

everything is complicated

#

yes USD is possible

#

This node writes the USD generated by a LOP network to a temp file, then launches an external process (by default, husk) to render an image or image sequence from the USD.

Rendering uses the same USD interface (Hydra) as is used to render the Solaris viewport, but instead of displaying the generated pixel buffers, the renderer saves them to image files. You can choose to render using any Hydra client registered with USD.

#

I don't know what any of that means

wraith urchin
#

LOP? lmao

cloud rivet
#

there is SOP too

wraith urchin
#

no idea what that is

cloud rivet
#

OP is just "operations" I think

#

the actual geometry editor I think is more inuitive than blender though

#

although I think blender is more geared toward that

#

I'm not sure I am ignorant

wraith urchin
#

Really? I find modelling is the most straightforward part of blender

cloud rivet
#

I think so

#

I don't have a lot of blender experience either

#

I don't think you can export from the free version from houdini, it won't actually warn you, it will let you go through and use the export menu and then just not actually produce a file,

#

and not ever throw any error

wraith urchin
#

Somehow I've managed to stick with blender for decades despite complaining about it constantly

cloud rivet
#

and also

#

any file created with free version of houdini cannot be opened by the paid version

wraith urchin
#

blender looked like this when I started KEKW

cloud rivet
#

you don't find this out until you try it either ^^

#

it's extremely rough

#

it's basically throw away work

wraith urchin
#

That would be enough to make me drop it immediately

cloud rivet
#

can't be exported, or opened by anything

#

other than free version

#

maybe someone backwards engineered the format idk

#

probably not

#

it's really complex apparently

astral hinge
cloud rivet
#

I kind of understand from a business perspective

wraith urchin
#

Probably the reason I've stuck with blender so long is that as annoying as it is sometimes, it will never pull shit like that

cloud rivet
#

you spend 5 years building the thing in free version

#

and then just buy the paid version on the last day

#

and export it

#

idk, I paid for it, I hope I figure out how to use it KEKW

wraith urchin
#

How much does it cost?

cloud rivet
#

I bought a 2 year limited commercial/indie license for like $399 or something

#

less than $100,000 annual revenue requirement

wraith urchin
#

Yeah you better learn lmao

cloud rivet
#

but what is nice is that I get to put it on my laptop and my pc

#

you get two "node locked" licenses

astral hinge
#

epic

cloud rivet
#

my current game dev revenue is about -$399 so I think I am good

astral hinge
#

reminds me of old drm'd games that only let you install them up to N times

#

like Spore

cloud rivet
#

didn't they have a root kit too

astral hinge
#

idk

wraith urchin
cloud rivet
#

you have to upgrade

wraith urchin
#

like if you have an unexpected success

cloud rivet
#

I don't know I think it's an honor system probably

#

but like

#

you probably generate some media if you have such success

#

and they'll probably know you use them

wraith urchin
cloud rivet
#

wow

#

that doesn't seem like it's intended for video games

astral hinge
#

smh I can add aliasing to my project for free

wraith urchin
#

I wonder sometimes if I should dogfood for real and model game assets in it

cloud rivet
#

can you get an employee discount?

wraith urchin
#

I could probably just use it, but I'm already so used to blender lol

cloud rivet
#

there's a common thing I hear about maya users, like Freya, how burned they were by suddenly being without it once they couldn't get a license after leaving job. I think Demon had said something about that with 3D Studio Max and losing his education license

#

so I think makes sense to invest in Blender

#

Freya is currently working on her own version of Maya

#

it looks really cool

wraith urchin
#

I invested in blender before I worked for them so I can't go back now lol

wraith urchin
#

It looks cool

cloud rivet
#

yes I think so? She makes posts on the Handmade discord about it

#

probably elsewhere too

wraith urchin
#

Yeah I follow her on BlueSky

cloud rivet
#

weird it doesn't say who made that post

wraith urchin
#

Its probably too late for me Ngl, I'm too blender pilled

cloud rivet
#

I think this is for Unity? I forget, that could be misinfo

#

she makes unity plugins historically

wraith urchin
#

Yeah I think she is building it in unity

#

not sure about that choice, but maybe she can make it work

cloud rivet
#

I wonder if spnda would be happy to know how much I am using fastgltf::math in my packager to avoid having to include glm

#

idk it works

#

I miss having my own math library

wraith urchin
cloud rivet
#

it's in zig

wraith urchin
#

ah

#

didn't wanna rewrite it in C++?

#

You can have mine if you want KEKW

cloud rivet
#

yes I do want to rewrite it in C++

#

just not right now

#

ok I am convinced I am doing something wrong somewhere

#

and I think sponza might not be the best asset to debug it with

#

I think I need a smaller asset

#

hrm

wraith urchin
#

should be straightforward to verify the results just by looking at the numeric data

cloud rivet
#

yes that is what I am doing

#

can't see the tangents in here though

wraith urchin
#

oh my, geometry nodes my nemesis KEKW

cloud rivet
#

I wish I could see the bin file contents

#

probably a way to do that idk

#

I am going to printf what fastgltf is outputting

#

and then look at what is in renderdoc

#

using sponza atm

#

well

#

that sure don't look right

#

huh

#

wtf

#

is this +y up thing in blender

#

no

#

that can't be it right

#

I'm gonna disable that

wraith urchin
cloud rivet
#

yes

#

I just wanted the numbers to be the same

wraith urchin
#

A while back when I was setting all the tangent stuff up initially I drew tiny debug lines on each vertex

cloud rivet
#

is that more helpful than just using the line primitive?

#

ok that made the numbers match but didn't fix the tangents

#

this is useful though

#

I am going to look at all the vertices by index and see if the go wrong at some point

#

it seems to differ

#

hrm

#

I think this is a primitive vs just vertices thing

#

I should trust fastgltf

#

and compare fastgltf output to renderdoc

wraith urchin
cloud rivet
#

oh

#

on a smaller model?

wraith urchin
#

I did it on a bigger model too but it was slow AF KEKW

cloud rivet
#

I git cloned the khoronos model repo

#

I should find a good model there to do this with

#

it's the one with sponza in it

#

but there's a ton more

wraith urchin
#

Avocado.gltf

cloud rivet
#

I'm just gonna quickly check this stuff in renderdoc then start working with simpler model tangents

#

I wanted to be working on game play agonyfrog but something is really not right

wraith urchin
#

I know the feeling froge_sad

cloud rivet
#

top is renderdoc export

#

bottom is what I store in my format

#

it's position, normal, tangent, color, texture coordinates

#

they all match

#

there's some floating point precision lost in renderdoc for normals

#

(-0.7280855, -0.6854864, 9.9998004e-05) in my asset compared to -0.72809, -0.68549, 0.0001, in renderdoc

#

idk why that it is

#

I think that's renderdoc

#

im going to check nsight

#

same in nsight as it is in renderdoc

#

that's how it gets exported in csv so I don't think this is a view thing

wraith urchin
#

This is the data in the vertex buffer?

cloud rivet
#

yeah

#

that's the only difference I see

#

is the normal precision

#

would that explain that seam?

#

:/

wraith urchin
#

No I even degrade my normal precision with octahedral encoding

cloud rivet
#

idk

wraith urchin
#

Is all this stuff in the repo?

cloud rivet
#

yes

wraith urchin
#

If you haven't figured it out by tommorow around 5pm EST I can take a look

cloud rivet
#

my thing is a burden to get to build

#

so I don't recommend that

wraith urchin
#

It's just msvc no?

cloud rivet
#

I haven't done the gitsubmodule thing yet

wraith urchin
#

Ah

cloud rivet
#

and even then it would take me to write a script

#

to do all the stuff it takes to build the thing

#

I will try the avacado

wraith urchin
#

I built deccers thing, its cool to make things buildable by other people

#

I say as I maintain my closed source cluster fuck of an engine KEKW

cloud rivet
#

in the gltf

#

I am not using those

wraith urchin
#

In sponza?

cloud rivet
#

sponza has them too

#

"metallicRoughnessTexture":{
"index":2
}

#

that's it

wraith urchin
#

Oh that's basically roughness = 1.0

#

Because gltf is ARM

#

Ambient, Roughness, Metallic

#

So green is the roughness channel

#

And since the blue channel is 0.0 that means it's entirely non metallic

cloud rivet
#

ah thank you

wraith urchin
#

A metallic avocado might not be desirable KEKW

cloud rivet
#

idk

#

looks correct to me

#

I kind of am over it

#

@wraith urchin would you be willing to share your sponza gltf 🙏

#

actually

#

hrmm

#

it's ok

#

converting things to ktx2 is manual right now

#

and I don't want to do it again

#

it's a lot of images to convert

#

I'm going to wrok on gamnedev

#

I'm just not having fun with this and I don't see any evidence that I am doing anything incorrect right now I don't know

#

I think blender is giving me garbage tangents tbh

wraith urchin
cloud rivet
#

how do you export your gltf?

#

just with file export?

#

or do you "bake"

wraith urchin
#

I don't tick anything regarding tangents just export->gltf

cloud rivet
#

ok

dry apex
cloud rivet
#

so you just have mikktspace do it

wraith urchin
#

I rely on mikktspace to generate tangents

cloud rivet
wraith urchin
wraith urchin
#

It's important if you are baking normals

#

But it shouldn't fuck things up this bad

wraith urchin
cloud rivet
#

I just should do the mikktspace thing

wraith urchin
#

Probably lol

cloud rivet
#

I wrote all the code and then deleted it because it wouldn't build

#

I didn't save it

#

it wasn't my code that wouldn't build it was all the c

#

I am going to figure out how to export stuff out of houdini so I can run it in my application, thanks for all your help

wraith urchin
#

Any time between 10am & 1am EST KEKW

cloud rivet
#

oh you can export obj from the free version

wraith urchin
#

Too bad obj sucks ass

#

Sometimes it's all you need though

cloud rivet
#

yeah

true moon
cloud rivet
#

yay

#

no normals or color or anything

#

but at least I have geometry

wraith urchin
#

What format did you export?

cloud rivet
#

figured out normals

#

basically houdini is a node editor

#

initially I was like dragging things into the scene UI and nothing would show, but it's because I wasn't doing anything with the node editor

#

normals aren't added automatically

#

I think I can do geometry in blender and import it into houdini and then export from houdini after I do things with the geometry in houdini

#

I think maybe blender -> marmoset -> houdini -> app?

#

hrm

#

I hard coded a bunch of assumptions into my gltf parser/material code

#

that I have to fix

#

so goal is to have a floor

#

and then a box

#

and some other boxes

#

with some materials and lighting

#

and then I add click to move behavior

#

that's the first goal

#

I think after it's going to be select objects in the scene with the mouse

wraith urchin
cloud rivet
#

idk I'm just learning

#

maybe it will just be houdini and marmoset

#

I don't know how I am going to do level editing

cloud rivet
#

houdini has mikktspace

cloud rivet
#

trying to get the textures and normals rendering 😅

#

these are cool

#

ohh I got tangenbts

#

ok I got tangents

#

but I don't have materials

#

I need to figure out tomorrow how to actually add a material with a texture and then I think I am cooking

#

the texture doesn't make it into the gltf without a material which makes sense

#

it's 1:30 am and I gotta go to bed now

#

I'm gonna try mikktspace to fix sponza tomorrow

#

I'm not gonna give up on sponza

#

I just can only do so much of that at a time

#

I wonder if all this houdini spam is OT on this server

silver slate
dry apex
#

i used blender when the splash screen was iron-cop or something

#

2.78

#

wow there's 2 years gap between 2.78 and 2.80

#

makes sense. so many new things added/changed in that version

cloud rivet
#

marmoset also uses mikkt

brisk chasm
#

gltf too

wraith urchin
#

This is kinda the point of Mikktspace is that everyones uses it

#

except apparently Maya?

#

Gonna doublecheck that might be misinfo

#

Never mind, that is misinfo, Maya has mikktspace support since at least 2024

cloud rivet
#

yeah

#

I should add mikktspace

silver slate
#

I keep one on my harddrive for the vibes. 😂

wraith urchin
#

I started on 2.49 when I was in highschool, 2.5 felt like such a huge upgrade. When 2.8 came out I actually didn't like it at first KEKW

#

Eventually I got used to it though

silver slate
wraith urchin
#

Yup

silver slate
#

Some of my friends still haven't changed their key bindings to the post 2.79 ones 😂

#

I keep telling them to get it over with and they're just like "I'm scared" :')

wraith urchin
#

Once you get used to something it becomes painful to change

silver slate
#

Changing habits is always a painful challenge, just like learning something new.
Because once you've learned the new thing, you've got to keep doing it for it to start feeling ok.

#

I'm still very much fighting myself with a lot of things that I've technically done before, but just not enough for it to stop making me self-conscious.

brisk chasm
#

i also remember playing with blender back then in the late 90s probably, but never understood how to use it, never used it

#

until 2013 ish, i still dont know how to use it really

true moon
#

What are the "post 2.79" keybinds, the blender keybinds seem about the same as always to me

astral hinge
#

Doesn't blender let you choose which set of bindings to use on startup

brisk chasm
#

ja

#

and you can change it too later, like vs or other IDEs

true moon
#

It's just which mouse button to use isn't it

brisk chasm
#

and searchbox thingy

true moon
#

Ah yeah

cloud rivet
#

if any of the other apps like Maya, 3D Studio Max, etc were free would you still use blender?

wraith urchin
cloud rivet
#

ah I don't know anything about anything so I am not locked in

#

I don't mind paying for software

wraith urchin
#

I am apparently the one person who figured out how to bake in blender KEKW

#

I can't give that up

true moon
#

I might use Max for some things over Blender

cloud rivet
#

maya is not cheap

true moon
#

No they're not

hushed creek
cloud rivet
#

$2k a year thinkeyes

hushed creek
#

there's free and open source like blender and then there's free but we may change the license any time or maybe there's royalties

true moon
#

Max needs an indie license

wraith urchin
#

If you are a pro modeler it makes sense

cloud rivet
#

I just never have been one to feel strongly about open source, I am grateful for all the open source projects that I depend on, I do feel strongly about being grateful but I believe in IP, but rule 8 etc

hushed creek
#

yeah but like if you're ultra set on becoming a pro artist and want to use the tools pro use you'll pirate anyway, you're a kid no one cares

wraith urchin
#

Studios are not paying 2K a year per seat though, they have a different license

#

2k Is for an individual license

true moon
#

How many actually use it though

#

What's the target audience

wraith urchin
#

For Maya?

true moon
#

Someone must make a lot of money with the tool to charge that

#

Max

#

But either really

wraith urchin
#

Oh I don't know all that much about Max, but Maya is extremely popular in Games & Animation

brisk chasm
#

max is still ugly af isnt it

true moon
#

Idk I never found it so

hushed creek
true moon
#

Looks like Maya is more for animation and max has roots in archvis but they are otherwise very similar at this point

hushed creek
#

a kid using a pirated ver of your thing to learn is a future professional paying a license

true moon
#

I never used Maya

wraith urchin
hushed creek
#

in any case now that people are able to win film awards using blender I think the tool is no longer a valid excuse for most people XD

cloud rivet
#

max and maya cost the same

#

per year

#

$1945

true moon
#

As much as I hate subscription stuff, the "tokens" thing is an interesting concept

#

Basically pay by the hour sort of

#

Or by the day at least

wraith urchin
#

I think the main reason why companies pay for Maya is because they can get support from us

true moon
#

So if you don't use it much you can pay very little

cloud rivet
#

what is the difference between maya and max?

true moon
#

I mean they're legitimately good tools, to a company with money they're a worthwhile purchase

#

Just not for a hobbyist

wraith urchin
#

I don't know about maya specifically but on Alias we get feature requests directly from our customers

cloud rivet
#

thesearethesamepicture.png

wraith urchin
#

Blender on the other hand doesn't have any obligation to do things that companies ask for

true moon
#

I learned Max because as a kid I had some Torque game engine book and that's what they used

wraith urchin
#

I can explain why they both exist

cloud rivet
#

hrm

#

all the game devs I follow only talk about maya I never hear anyone really talking about max

wraith urchin
#

Maya was not originally an autodesk product, it was acquired with the company Alias-Wavefront, which became autodesk toronto

#

Maya had (alot of) existing customers so they kept it around

cloud rivet
#

fully supported and with a future or maintenance mode

wraith urchin
#

With a future

#

it was in like 2005, a long time before I joined

cloud rivet
#

oh

#

20 years ago

#

that's really expensive

wraith urchin
#

Well arguably the reason Alias was acquired was for Maya

true moon
#

I'm still wondering what the target market for the individual licenses is

wraith urchin
true moon
#

I'm trying to think of a monetization scheme that would make it cheaper for people to screw around in while still charging people who make a living off of it more

cloud rivet
#

that's annual revenue

true moon
#

But I can't think of anything better than the pay per use scheme that "tokens" system is for

cloud rivet
#

that's how houdini works

true moon
#

Yeah that's true

cloud rivet
#

I got an indie license that costs $390 for two years

#

I'd pay that for maya

#

you have to make less than $100K per year

true moon
#

In some cases that annual revenue might be hard to identify

hushed creek
cloud rivet
#

I think houdini cares a lot about how much you make, their licensing software is expansive

#

they probably have a whole department regarding this

true moon
#

But yeah I'd consider paying up to $500 annually for max probably if it's as good as I remember

#

2k is insane though

cloud rivet
#

it is giving me pause for sure

true moon
#

Jake we're counting on you to fix this

wraith urchin
#

I do not work on Maya, much less do I have anything to do with pricing

cloud rivet
#

so maya has a free trial

true moon
#

We believe in you

cloud rivet
#

maybe I trial it

true moon
#

Btw the really insane thing is that Max cost $2k/yr like 15 years ago too

#

So if anything the price is more reasonable now

cloud rivet
#

I'm not buidling complex models yet

brisk chasm
#

jake is only working on the motorized desks

cloud rivet
#

I have to ask permission to spend for that

true moon
#

Honestly if you're just starting then Blender and Houdini are more than enough

cloud rivet
#

yeah probably

true moon
#

You need to learn the modeling workflow and thought process before the tools really matter much

cloud rivet
#

well

#

maya might be better for beginners

true moon
#

It takes a long time to get good at 3D modeling

#

Blender is probably the best for beginners

#

Because it has infinite educational content out there

cloud rivet
#

how can you claim that having not used maya

true moon
#

I've used max and they're basically the same

cloud rivet
#

it's just ridiculous to even consider paying that tbh

#

I will just use blender

wraith urchin
#

Maya is a bargain compared to Alias...

cloud rivet
#

I should give the free trial a go though

wraith urchin
#

Maya?

#

Yeah its worth giving it a shot

hushed creek
true moon
#

The thing is blender is the best all-in-one solution

wraith urchin
hushed creek
#

that's about how much I have left to pay for my apartment lol

true moon
#

Modeling, rigging, animating, great built in renderer, video editor, render postprocessing, geometry nodes, 2D animation, etc. and it's free

hushed creek
#

I'm hoping to gather that much money in a year and half XD

wraith urchin
#

Easy to forget the video editor

hushed creek
#

all blender needs is a few things made with it to make it really big

#

(and for some big names to start using it)

wraith urchin
#

It is really big lol

hushed creek
#

no I meant products to make it big

#

like, an animated star wars series done entirely in blender

#

or an original series that becomes huge

#

when it comes to the output it's still mostly (just?) indies to my knowledge

wraith urchin
#

My friend has worked as a modeler for Ubisoft, 2K & EA and has used blender at all 3

#

Of course there are also people there using Maya

hushed creek
#

good to know

#

I had no idea it was already used

#

I was thinking about big name (productions) benefiting because it would increase adoption for everyone else solely because of the "if they could do it we can too"

wraith urchin
#

I went to the blender meetup at SIGGRAPH a while back and the room was absolutely full, people there from Netflix, Disney etc, all the big names

#

We've probably derailed Bjorn's thread enough lmao

#

@cloud rivet How comes the tangents?

hushed creek
cloud rivet
#

I am at work so can’t look at it rn

wraith urchin
#

OpenSpace lol

brisk chasm
#

ah 🙂

wraith urchin
#

I noticed HowToScript got nuked

brisk chasm
#

ah also, i just made HowToScript private

wraith urchin
#

I was looking for the mikktspace thing

#

to show bjorn

brisk chasm
#

i can dig it up

cloud rivet
#

nvidia had a good example

#

so I am good thanks though

brisk chasm
#

or add you two

#

ah

cloud rivet
#

it's pretty easy to use

#

it's just badly written C with tons of uninitialized variables and warnings

wraith urchin
#

It's oldschool for sure lol

#

but that is mainly for portability reasons I think

cloud rivet
#
    int iF, iI;
    SVec3 res; float pos[3];
    IndexToData(&iF, &iI, index);
wraith urchin
#

Classic C code

#

I wonder if this compiles in C89

brisk chasm
#

it looks like c89

cloud rivet
#

how is this building in your project?

#

I think these weren't even warnings, some of those were just straight up build errors

wraith urchin
#

Builds just fine for me

#

do you have warnings as errors?

cloud rivet
#

yes

#

I am saying some of these were not warnings

brisk chasm
#

i dont think i have warnings as errors enabled, i should do that actually

cloud rivet
#

well you'll have remove mikktspace if you do

brisk chasm
#

: )

cloud rivet
#

I'm going to try static linking it

brisk chasm
#

thats what i do too

cloud rivet
#

I am going to wrap it with my own code

brisk chasm
#

i put the cmake part in the jist too

cloud rivet
#

because the header had warnings too

wraith urchin
#

I just added the files to my project they build just fine

#

what are the errors you get?

cloud rivet
#

honestly, I can't tell because if I have one error anywhere half my code errors

#

but it looked like a lot

#

I started trying to fix them at like 2 am

#

and just kept finding more

#

and I gave up

wraith urchin
#

You might have some weird flags set?

cloud rivet
#

do you have any warnings when you build

#

my flag is just error on warnings and warnings level 4

#

that's it

wraith urchin
#

I get 2

cloud rivet
#

and it's configured via the msbuild properties ui

wraith urchin
#
1>MikkTSpace\mikktspace.c(1205,21): warning : variable 'iUniqueTspaces' set but not used [-Wunused-but-set-variable]```
cloud rivet
#

well

#

I shared some code

#

that is clearly a warning

#

so I think maybe you kind of got some really relaxed settings

wraith urchin
#

I have warning Level4

#

Oh this is actually with clang, 1 sec

#

lemme see what msvc says

wraith urchin
#

Ok 9 warnings from MSVC

cloud rivet
#

what are they?

wraith urchin
cloud rivet
#

yeah

#

ok so they are just warnings

brisk chasm
#

those can be somehow ignored when you cmake them properly with SYSTEM rather than PRIVATE/PUBLIC or something like that, i never looked properly into it yet

cloud rivet
#

if you add a #pragma warning(disable: 4456) does that one go away?

#

it didn't for me

#

that works for all the warnings I get from fastgltf

#

and tracy

#

but it didn't in this case

wraith urchin
#

with the pragma only this one is left mikktspace.c(922,3): warning C4201: nonstandard extension used: nameless struct/union

cloud rivet
#

where did you put the pragma

wraith urchin
#

at the top of the file

cloud rivet
#

ok but you only want to turn it off for mikktspace

wraith urchin
#

yeah so add it to the top of mikktspace.c

cloud rivet
#

is that what you did?

#

I did that

wraith urchin
#

just now yeah

#

but I normally build without that

cloud rivet
#

and the errors went away?

#

warnings*

wraith urchin
#

yeah the warnings went away

cloud rivet
#

idk that didn't work for me

wraith urchin
#

but I don't understand where errors would be coming from

cloud rivet
#

warnings as errors

#

any warning fails the build

wraith urchin
#

Ah so you do have that

cloud rivet
#

I said so yeah

wraith urchin
#

I have that only enabled for certain warnings

cloud rivet
#

are you using cmake?

#

I don't know

wraith urchin
#

no msbuild

cloud rivet
#

this did not work for me, it did not

#

I'll try again fine

wraith urchin
cloud rivet
#

how many warnings does your project build have?

#

a lot?

#

I find the level 4 warnings to be really helpful

#

and also reasonable

#

all warnings is unreasonable

brisk chasm
#

can you do this too

#pragma push warn #1337
#include <mikktspace.h>
#pragma pop
#

so that you dont have to modify the files you pull with cmake?

wraith urchin
#

lmao now you got me fixing warnings

cloud rivet
#

I think visual studio just gaslights me to torment me personally

#

If I turn on all warnings it crashes visual studio on the vulkan sdk

wraith urchin
#

I've never worked on a C++ codebase that has no warnings

#

I also get warnings in SDL & Bullet

cloud rivet
#

I was able to wrap SDL with pragma around the headers

#

I have no warnings

cloud rivet
#

I did a mask normal map thing in Marmoset, I'm going to see if I can load that in Rosy

#

in houdini

#

hrm houdini doesn't add a sampler to the gltf

cloud rivet
#

houdini doesn't export the image names I have to add like a script for it to do that

#

my lighting just seems broken too for some reason

cloud rivet
#

I think this confirms my lighting is broken somehow

#

although

cloud rivet
#

alright I'll add mikktspace

#

all I did was add the header KEKW

#

well I also added the files to the project

astral hinge
#

nice -werror brah

cloud rivet
#

in that screenshot there was a syntax error where I had some left over code experiment, but I removed it and it's the same minus that error

#

I do not know how jake got it to build

#

his stuff is set up differently

astral hinge
#

well what you're seeing are just warnings

cloud rivet
#

I know that

#

but he didn't have all these warnings

#

and

#

he was able to turn them off with a pragma

#

this is all the result of just adding the mikktspace files

#

#1323084490997895198 message

#

these are not the same

#

progress

#

I swear when I added that pragma last time it didn't fix anything

#

I did just restart visual studio though

astral hinge
#

where did you put the pragma

#

it needs to apply to the entirety of mikktspace.c

#

you can't just put it around the header unless all the source code is in there

cloud rivet
#

at the top of the file

astral hinge
#

which file

cloud rivet
#

both

wraith urchin
#

mikktspace.c?

cloud rivet
#

the header and the c file

astral hinge
#

hmm

#

show

#

also what compiler are you using

#

the pragma to disable warnings is different on different compilers

cloud rivet
#

well

#

that fixed it for that warning

#

the pragma worked this time is what I am saying

#

I'm saying I swear it didn't work for me last time

wraith urchin
#

@cloud rivet can you try changing your language standard to C++20? I think you said you were using latest

cloud rivet
#

I don't know what pragma to use for init-uninitialized-local

wraith urchin
#

Sometimes MSVC enables different warnings depending on the language version

cloud rivet
wraith urchin
#

set it just for mikktspace.c

#

that is C89 anyways lol

cloud rivet
#

ohh

#

I mean if I can set this per file then I can just disable the warnings like this

wraith urchin
#

yeah you can set it per file

#

just right click the file in solution explorer and go to properties

cloud rivet
#

I had no idea I could do that facepalm

#

I still have these though

wraith urchin
#

are you in debug rn?

#

make sure you set it for all configurations

astral hinge
#

resharper mayhap

#

it doesn't have a standard warning code

wraith urchin
cloud rivet
#

yes I just fixed it for all configurations

+    <ClCompile Include="..\libs\mikktspace.c">
+      <LanguageStandard Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Default</LanguageStandard>
+      <LanguageStandard_C Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Default</LanguageStandard_C>
+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">TurnOffAllWarnings</WarningLevel>
+      <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</TreatWarningAsError>
+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Renderdoc|x64'">TurnOffAllWarnings</WarningLevel>
+      <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Renderdoc|x64'">false</TreatWarningAsError>
+      <LanguageStandard Condition="'$(Configuration)|$(Platform)'=='Renderdoc|x64'">Default</LanguageStandard>
+      <LanguageStandard_C Condition="'$(Configuration)|$(Platform)'=='Renderdoc|x64'">Default</LanguageStandard_C>
+      <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">TurnOffAllWarnings</WarningLevel>
+    </ClCompile>
astral hinge
cloud rivet
#

cool per file level options

#

this is esoteric stuff

#

ok

#

setting to other language versions

#

setting it for all release types

#

why you like C++

wraith urchin
#

Why you use C++? froge_love

cloud rivet
#

why does one release config fail a different one thinkeyes

#

because it's what everyone else uses frogsippy

wraith urchin
#

Everyone uses it because its good smart

cloud rivet
#

that could explain some things I guess

#

alright I will rewrite all that code I had previously

astral hinge
cloud rivet
#

@wraith urchin do you run mikktspace per gltf primitive or per mesh?

wraith urchin
#

Per mesh

#

Note that mikktspace returns the tangent spaces in an unindexed form. Do NOT try to average these over an existing index list. It will NOT work correctly. If you need the tangent spaces to be indexed you can use a welder to create a new index list. If you do not have such an implementation you can get a free one here:
don't forget this bit btw

cloud rivet
#

what is a welder

#

oh

#

it points to something

#

in an unindexed form

#

of course they're indexed

#

what

#

@wraith urchin so you use weldmesh also?

wraith urchin
#

no I use meshoptimizer

#

Does alot more than just welding

cloud rivet
#

I just want seams to go away

wraith urchin
#

Thats what we all want lol

#

You don't have to do all mesh optimization steps

wraith urchin
cloud rivet
#

yes

#

that's what I was comparing the other day

#

the tangents exported from blender with what was in renderdoc

#

they were identical

#

all 200k+

dry apex
cloud rivet
#

I found houdini has a remesh node

#

so I am sending geometry through a tangent node that computes mikkitspace and then pushes them through remesh

#

interesting

#

I wonder if I can just drop sponza in this

#

I don't care

#

it's now february

#

I'm going to work on my game

#

this program is so interesting, it feels off topic for this server tbh

#

apparently 10 iterations is crimes against geometry

#

poor cube frogstare

brisk chasm
cloud rivet
#

I got a python script to fix the gltf houdini outputs to add names for images

brisk chasm
#

shame that you need scripting to fix something which should just work out of the box : (

cloud rivet
#

yeah idk, it's fun to script it though, super easy

brisk chasm
#

i guess gltf is something nobody needed/wanted, just like collada

cloud rivet
#

I like gltf :/

#

I don't like collada

brisk chasm
#

its pretty much gltf just in xml

cloud rivet
#

I don't like xml

#

hrm

#

I can extend this script to move all the gltf assets to Rosy and then run my asset importer

#

I also currently have to manually generate the ktx2 files 😅

#

man

#

does houdini have a ktx2 node :o

#

no

#

but I can run ktx tools from the cli I guess

#

idk man houdini is making my life so much easier, I manually converted all the sponza jpgs to ktx2

#

I thought it was like a modeling app

#

but really it's like

#

an asset pipeline manager?

#

like I can introspect into all aspects of anything, images, textures, geometry vertices and nodes, write scripts for that stuff

#

with a node editor

#

idk

#

if I am too OT for this server please let me know 😅

#

feels like cheating tbh

astral hinge
#

banned for being productive

cloud rivet
#

fuck

brisk chasm
#

you need to pay attention to ktx tools

astral hinge
#

I used gltfpack (from meshopt) and libktx to handle all my ktxisms

brisk chasm
#

if you want ktx2 you need to pass the right parameter to ktxcreate or what it was called

#

yeah

cloud rivet
#

yeah I wrote notes for it when I did it previously

#

ktx create --format R8G8B8A8_SRGB --generate-mipmap --mipmap-filter box --encode uastc --uastc-quality 0 --zstd 5 --cubemap .\xp.png .\xn.png .\yp.png .\yn.png .\zp.png .\zn.png skybox.ktx2

#

is when I made my skybox

#

but

#

I don't want SRGB

#

:<

#

oh maybe houdini can change colorspace

brisk chasm
#

toktx --t2 ...

cloud rivet
#

wow

#

you know ktx

brisk chasm
#

ah i think ktx itself when it sees ktx2 file extension it might do the right thing

#

i already forgot and its just a month ago or so, around xmas when i fiddled with that shit

cloud rivet
#

ktx is awesome

#

it feels like a dead project

brisk chasm
#

what doesnt, coming from john K

cloud rivet
#

I don't really get the feeling that dds is really maintained all that well either

#

AAA studios all have their own shit

brisk chasm
#

its probably feature complete

cloud rivet
#

well it works and I like it

#

I wish it supported vma better

brisk chasm
#

yeah thats what counts, it works

cloud rivet
#

but I guess I don't care if it does, since it just works

brisk chasm
#

but dds is also just a blob and a size of blob, isnt that all you need for vma too?

cloud rivet
#

vma does magical stuff with memory

#

it will pool memory based on usage and I doubt ktx does any of that

#

reuse it and stuff

#

it's a crime ktx doesn't support nicely

brisk chasm
astral hinge
#

I don't see the relation between vma and ktx

cloud rivet
#

ktxTexture_VkUploadEx

#

etc

astral hinge
#

no need to use that stuff

cloud rivet
#

free image uploads

#

yeah I do need it

astral hinge
#

if you have vma you don't need those

#

a function that uploads an arbitrary bcn texture is like 40 loc

cloud rivet
#

libktx gives me the image view and everything already to go

#

I can give it a cubemap

#

a whatever

#

it knows what to do with it

#

it knows the mipmaps

#

the image formats

#

more since it calls other lib functions

#

this is my image code:

{
                if (ktx_error_code_e ktx_res = ktxTexture_CreateFromNamedFile(ktx_path, KTX_TEXTURE_CREATE_NO_FLAGS, &new_ktx_img.texture); ktx_res != KTX_SUCCESS) {
                    l->error(std::format("ktx create texture failure: {}", static_cast<uint8_t>(ktx_res)));
                    return result::create_failed;
                }
                new_ktx_img.graphics_created_bitmask |= graphics_created_bit_ktx_image;
}

{
                if (ktx_error_code_e ktx_res = ktxTexture_VkUploadEx(new_ktx_img.texture, &ktx_vdi_info, &new_ktx_img.vk_texture,
                    VK_IMAGE_TILING_OPTIMAL,
                    VK_IMAGE_USAGE_SAMPLED_BIT,
                    VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL); ktx_res != KTX_SUCCESS)
                {
                    ktx_textures.push_back(new_ktx_img);
                    l->error(std::format("ktx create vulkan texture failure: {}", static_cast<uint8_t>(ktx_res)));
                    return result::create_failed;
                }
                new_ktx_img.graphics_created_bitmask |= graphics_created_bit_ktx_texture;
}
#

idk

#

I would prefer to not use libktx

#

it just does so much

brisk chasm
#

if it works then use it

#

and can be refactored later if you want to get rid of it

cloud rivet
#

the light seems to be inverted on the x axis

#

I don't think houdini is respecting gltf's coordinate system

brisk chasm
#

can you visualleis ze normals?

cloud rivet
#

yes I can

#

I should add ui for it, but I'll update my shader

#

ah fuck

#

it's all in tangent space

brisk chasm
#

hehe

cloud rivet
#

oh I got it

#

let me actually have it shade

brisk chasm
#

your y is down

cloud rivet
#

yeah that's vk

brisk chasm
#

or im stupid, also possible

cloud rivet
#

hrm

brisk chasm
#

are you not flipping the viewport to counter the vk ism?

cloud rivet
#

well

#

no I do

#

oh

brisk chasm
#

you do the magic m[1][1] = -m[1][1] trick

cloud rivet
#

yeah I do that

brisk chasm
#

thats cursed

cloud rivet
#

otherwise I would go down when I go up

#

well no

#

I have a proper transform

brisk chasm
#

i just looked at the inspector valeurs

#

and saw your camera and light direction

#

that would conchfuse the hell out of me, me looking "downwards" but the inspector says "you look upwards"

#

haha there are a bunch of new ones like this 🙂

cloud rivet
#

that's not right

brisk chasm
#

its front and left and top, yeah 😛

cloud rivet
#

that was the tangent

#

I guess tangents could be the same in these three directions, it's orthogonal to the normal

#

it could be pointing in the same direction for three faces why not

#

hrm

#

renderdoc time

#

I fix this and then I can do gameplay, just this

#

my light is wrong

#

it's not the normal

#

it's just the x is inverted on my light direction?

brisk chasm
#

its hard to tell from what angle you look at the cubicle

#

but "right" should be "bright red"

#

"left" should be "darker red"

#

your top is bright green which is correct, if you do y up

#

and the front part should be dark blue, if its -z, while the back side should be light blue

cloud rivet
#

my position is in the ui

#

ah it's broken in sponza too

#

it wasn't broken before

cloud rivet
#

yep

#

just a suddenly unexpected reverse x for some reason

brisk chasm
#

reverse z gone wrong

cloud rivet
#

I guess git bisect whatever did this tomorrow but

#

idk

#

I will time box it to like 30 minutes max because I am over all this light stuff right now

cloud rivet
#

So next:

  1. load a small scene I can move a character around on
  2. Select a spot in 3D with mouse and draw a daw a circle there
  3. Move character there
#

I am not working on anything else. Anything else becomes a GitHub issue for later

cloud rivet
wraith urchin
#

Maya?

cloud rivet
#

it's so much better than blender KEKW

#

oh man it's recorded a call I am in oops

#

I have no idea how to turn that off

#

someone talking about world of warcraft raids

#

ah

#

I'm just going to turn that off

#

I really like Maya

#

$2K though

#

per year

#

I say it's better, coming from someone who is not familiar with either

#

it has a really nice tutorial

#

for navigating and using the basic tools

#

why is R scale and E rotate? thinkeyes