#Rosy
1 messages · Page 5 of 1
Can I see your VS though?
vertex shader
Oh he does all his lighting in tangent space?
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
Well if you set up mikktspace you can be sure the tangents are correct
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
Alright its eepy time for me, probably a good idea to set up mikktspace for now at least
Good night
thank you for your help!
oh I found an nvidia example of using mikktspace https://github.com/NVIDIAGameWorks/Falcor/blob/eb540f6748774680ce0039aaf3ac9279266ec521/Source/Falcor/Scene/SceneBuilder.cpp#L78
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
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
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
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
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
haha cool
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
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
hrm
When I got out of the marines I went to community college for a year
it was pretty cool
really cheap
I went there for 3 (one year of high school and two of college) and then transferred to UCD, cut the cost in half
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
I just took a lot of classes since I didn't really know what I wanted to do
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 
idk why 
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
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
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
Swede probably
You should be able to disable specific warnings per file with some pragmas, we have to do it with our ancient code at work
You will need correct tangents even if you are modelling yourself
Yeah I will try and use Lengyel’s approach once I need to
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
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
I like this color scheme, I'm gonna use this for my game I think
The robot will be painted like that?
it's just sort of a guiding palette for the whole game
Was just gonna say it looks like Wall-E might be #EFC88B
you know, they weren't all that original themselves
they basically just shrunk short circuit and painted him differently
Are you trying to avoid looking like that? I think there's nothing wrong with it IMO
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
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
The color scheme is just fairly common construction equipment colors so it being similar to wall E is just sharing an inspiration
Nr 5
I think you did share that before and I was vaguely remembering it
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
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
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
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
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
Are you using Houdini? I've always wanted to try it
I am learning it
I wouldn't say I'm using it
it is uh, expansive
they have a node editor for rendering
I interviewed there once for a job, they're in toronto actually
where one of the nodes can be a gltf export
but
blender refuses to open it
also refuses to open the fbx also
Blender FBX is borked lol
and I look at the gltf I think it may be like not real gltf
Like houdini is exporting borked gltf?
I am too ignorant to say
ROP?
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
Honestly thats most software thats large enough, I have no idea all the shit Alias (my work project) can do
So can you export USD? or is it more complicated?
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
LOP? lmao
there is SOP too
no idea what that is
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
Really? I find modelling is the most straightforward part of blender
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
Somehow I've managed to stick with blender for decades despite complaining about it constantly
and also
any file created with free version of houdini cannot be opened by the paid version
blender looked like this when I started 
Thats extremely rough
you don't find this out until you try it either ^^
it's extremely rough
it's basically throw away work
That would be enough to make me drop it immediately
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
I can understand it being the other way, but wtf
I kind of understand from a business perspective
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
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 
How much does it cost?
I bought a 2 year limited commercial/indie license for like $399 or something
less than $100,000 annual revenue requirement
Yeah you better learn lmao
but what is nice is that I get to put it on my laptop and my pc
you get two "node locked" licenses
epic
my current game dev revenue is about -$399 so I think I am good
reminds me of old drm'd games that only let you install them up to N times
like Spore
didn't they have a root kit too
idk
what happens if you make more than that?
you have to upgrade
like if you have an unexpected success
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
Its definetly cheaper than what we charge for Alias https://www.autodesk.com/products/alias-products/overview
smh I can add aliasing to my project for free
It's mainly used by the automotive industry
I wonder sometimes if I should dogfood for real and model game assets in it
can you get an employee discount?
I could probably just use it, but I'm already so used to blender lol
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
I invested in blender before I worked for them so I can't go back now lol
Half-edge?
It looks cool
yes I think so? She makes posts on the Handmade discord about it
probably elsewhere too
Yeah I follow her on BlueSky
Its probably too late for me Ngl, I'm too blender pilled
I think this is for Unity? I forget, that could be misinfo
she makes unity plugins historically
Yeah I think she is building it in unity
not sure about that choice, but maybe she can make it work
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
Why did you get rid of it?
it's in zig
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
try a cube tbh
should be straightforward to verify the results just by looking at the numeric data
oh my, geometry nodes my nemesis 
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
Doesn't gltf mandate a certain coordinate space?
A while back when I was setting all the tangent stuff up initially I drew tiny debug lines on each vertex
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
Like I drew red, green & blue lines at each vertex for the tangent normal & binormal
I did it on a bigger model too but it was slow AF 
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
Avocado.gltf
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
but something is really not right
I know the feeling 
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
This is the data in the vertex buffer?
yeah
that's the only difference I see
is the normal precision
would that explain that seam?
:/
No I even degrade my normal precision with octahedral encoding
idk
Is all this stuff in the repo?
yes
If you haven't figured it out by tommorow around 5pm EST I can take a look
It's just msvc no?
I haven't done the gitsubmodule thing yet
Ah
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
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 
do you know what the green images are? I don't know what they are
in the gltf
I am not using those
In sponza?
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
ah thank you
A metallic avocado might not be desirable 
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
I'm not home right now but I can share it tommorow
I don't tick anything regarding tangents just export->gltf
ok
have you tried triangulating before exporting?
so you just have mikktspace do it
I rely on mikktspace to generate tangents
I don't know what that is
Add a triangulation modifier to the model
Don't worry about that yet. I'm 99% sure triangulation wouldn't cause this
I just should do the mikktspace thing
Probably lol
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
Any time between 10am & 1am EST 
oh you can export obj from the free version
yeah
Indeed it is :^)
What format did you export?
gltf2, figured it out
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
I try to stay in one tool as long as possible, ideally that tool is my engine
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
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
My beloved pre-Blender 2.5 interface.
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
marmoset also uses mikkt
gltf too
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
The first time I discovered Blender it was version 2.34 but I didn't know how to use it and I was like 10-11 years old or something so my brain was very stinky. The first one I started learning with was 2.37a.
I keep one on my harddrive for the vibes. 😂
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 
Eventually I got used to it though
2.8 a.k.a. the great button swap
Yup
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" :')
Once you get used to something it becomes painful to change
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.
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
What are the "post 2.79" keybinds, the blender keybinds seem about the same as always to me
Doesn't blender let you choose which set of bindings to use on startup
It's just which mouse button to use isn't it
and searchbox thingy
Ah yeah
if any of the other apps like Maya, 3D Studio Max, etc were free would you still use blender?
Yes, I tried to learn Maya on my work computer, I'm too locked into blender at this point
ah I don't know anything about anything so I am not locked in
I don't mind paying for software
I am apparently the one person who figured out how to bake in blender 
I can't give that up
I might use Max for some things over Blender
maya is not cheap
No they're not
there's a difference between free and free*
$2k a year 
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
Max needs an indie license
If you are a pro modeler it makes sense
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
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
Studios are not paying 2K a year per seat though, they have a different license
2k Is for an individual license
For Maya?
Oh I don't know all that much about Max, but Maya is extremely popular in Games & Animation
max is still ugly af isnt it
Idk I never found it so
- least of all the guys making the software, most importantly
Looks like Maya is more for animation and max has roots in archvis but they are otherwise very similar at this point
a kid using a pirated ver of your thing to learn is a future professional paying a license
I never used Maya
Says man who thinks Arma 1 is peak graphics 
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
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
I think the main reason why companies pay for Maya is because they can get support from us
So if you don't use it much you can pay very little
what is the difference between maya and max?
I mean they're legitimately good tools, to a company with money they're a worthwhile purchase
Just not for a hobbyist
I don't know about maya specifically but on Alias we get feature requests directly from our customers
Blender on the other hand doesn't have any obligation to do things that companies ask for
.
I learned Max because as a kid I had some Torque game engine book and that's what they used
I can explain why they both exist
3D max has animation in the headline and maya doesn't
hrm
all the game devs I follow only talk about maya I never hear anyone really talking about max
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
fully supported and with a future or maintenance mode
Well arguably the reason Alias was acquired was for Maya
I'm still wondering what the target market for the individual licenses is
Freelance modelers I think
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
that's annual revenue
But I can't think of anything better than the pay per use scheme that "tokens" system is for
that's how houdini works
Yeah that's true
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
In some cases that annual revenue might be hard to identify
studios outsource 3D work too hence freelancers
I think houdini cares a lot about how much you make, their licensing software is expansive
they probably have a whole department regarding this
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
it is giving me pause for sure
Jake we're counting on you to fix this
I do not work on Maya, much less do I have anything to do with pricing
so maya has a free trial
We believe in you
maybe I trial it
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
I'm not buidling complex models yet
jake is only working on the motorized desks
I have to ask permission to spend for that
Honestly if you're just starting then Blender and Houdini are more than enough
yeah probably
You need to learn the modeling workflow and thought process before the tools really matter much
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
how can you claim that having not used maya
I've used max and they're basically the same
Maya is a bargain compared to Alias...
I should give the free trial a go though
🙃
The thing is blender is the best all-in-one solution
My glorious code is worth every penny
that's about how much I have left to pay for my apartment lol
Modeling, rigging, animating, great built in renderer, video editor, render postprocessing, geometry nodes, 2D animation, etc. and it's free
I'm hoping to gather that much money in a year and half XD
Easy to forget the video editor
all blender needs is a few things made with it to make it really big
(and for some big names to start using it)
It is really big lol
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
There are 100% AAAs using blender
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
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"
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?
we went on a tangent
I am at work so can’t look at it rn
what thing? 😄
OpenSpace lol
ah 🙂
I noticed HowToScript got nuked
ah also, i just made HowToScript private
i can dig it up
it's pretty easy to use
it's just badly written C with tons of uninitialized variables and warnings
int iF, iI;
SVec3 res; float pos[3];
IndexToData(&iF, &iI, index);
it looks like c89
how is this building in your project?
I think these weren't even warnings, some of those were just straight up build errors
i dont think i have warnings as errors enabled, i should do that actually
well you'll have remove mikktspace if you do
: )
I'm going to try static linking it
thats what i do too
I am going to wrap it with my own code
i put the cmake part in the jist too
because the header had warnings too
I just added the files to my project they build just fine
what are the errors you get?
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
You might have some weird flags set?
do you have any warnings when you build
my flag is just error on warnings and warnings level 4
that's it
I get 2
and it's configured via the msbuild properties ui
1>MikkTSpace\mikktspace.c(1205,21): warning : variable 'iUniqueTspaces' set but not used [-Wunused-but-set-variable]```
well
I shared some code
that is clearly a warning
so I think maybe you kind of got some really relaxed settings
I have warning Level4
Oh this is actually with clang, 1 sec
lemme see what msvc says
Ok 9 warnings from MSVC
what are they?
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
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
with the pragma only this one is left mikktspace.c(922,3): warning C4201: nonstandard extension used: nameless struct/union
where did you put the pragma
at the top of the file
ok but you only want to turn it off for mikktspace
yeah so add it to the top of mikktspace.c
yeah the warnings went away
idk that didn't work for me
but I don't understand where errors would be coming from
Ah so you do have that
I said so yeah
I have that only enabled for certain warnings
no msbuild
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
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?
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
I've never worked on a C++ codebase that has no warnings
I also get warnings in SDL & Bullet
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
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
this is the opposite of correct
I think this confirms my lighting is broken somehow
although
alright I'll add mikktspace
all I did was add the header 
well I also added the files to the project
nice -werror brah
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
well what you're seeing are just warnings
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
https://learn.microsoft.com/en-us/cpp/ide/lnt-uninitialized-local?view=msvc-170#how-to-fix-the-issue
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
at the top of the file
which file
both
mikktspace.c?
the header and the c file
hmm
show
also what compiler are you using
the pragma to disable warnings is different on different compilers
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
@cloud rivet can you try changing your language standard to C++20? I think you said you were using latest
I don't know what pragma to use for init-uninitialized-local
Sometimes MSVC enables different warnings depending on the language version
that would fail the build I think as I use new things
ohh
I mean if I can set this per file then I can just disable the warnings like this
yeah you can set it per file
just right click the file in solution explorer and go to properties
maybe that is coming from an extension?
resharper mayhap
it doesn't have a standard warning code
I notice it doesn't say Active for debug here
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>
classic vs solution moment
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++
Why you use C++? 
why does one release config fail a different one 
because it's what everyone else uses 
Everyone uses it because its good 
I am not sure, I don't really know everything resharper changes
that could explain some things I guess
alright I will rewrite all that code I had previously
Me neither, but you can look 
how old are you deccer? like 50?
@wraith urchin do you run mikktspace per gltf primitive or per mesh?
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
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?
no I use meshoptimizer
Mesh optimization library that makes meshes smaller and faster to render
Does alot more than just welding
I just want seams to go away
When you load the gltf does it come indexed already?
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+
i use it as well
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 
41
I got a python script to fix the gltf houdini outputs to add names for images
shame that you need scripting to fix something which should just work out of the box : (
i guess gltf is something nobody needed/wanted, just like collada
its pretty much gltf just in xml
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
banned for being productive
fuck
you need to pay attention to ktx tools
I used gltfpack (from meshopt) and libktx to handle all my ktxisms
if you want ktx2 you need to pass the right parameter to ktxcreate or what it was called
yeah
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
toktx --t2 ...
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
what doesnt, coming from john K
I don't really get the feeling that dds is really maintained all that well either
AAA studios all have their own shit
its probably feature complete
yeah thats what counts, it works
but I guess I don't care if it does, since it just works
but dds is also just a blob and a size of blob, isnt that all you need for vma too?
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
ah this thing also doesnt use vma, mayhaps you dont need to use it for that then https://github.com/Sixshaman/DDSTextureLoaderVk
I don't see the relation between vma and ktx
libktx ktxTexture_CreateFromNamedFile
ktxTexture_VkUploadEx
etc
no need to use that stuff
if you have vma you don't need those
a function that uploads an arbitrary bcn texture is like 40 loc
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
the implementation isn't 40 loc it's like 1K https://github.com/KhronosGroup/KTX-Software/blob/91e61d6fa3f06eb8616fc2eba74fba7703e4fe11/lib/vkloader.c#L1451
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
the light seems to be inverted on the x axis
I don't think houdini is respecting gltf's coordinate system
can you visualleis ze normals?
yes I can
I should add ui for it, but I'll update my shader
ah fuck
it's all in tangent space
hehe
your y is down
yeah that's vk
or im stupid, also possible
hrm
are you not flipping the viewport to counter the vk ism?
you do the magic m[1][1] = -m[1][1] trick
yeah I do that
thats cursed
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 🙂
its front and left and top, yeah 😛
that was the tangent
ok normals with light
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?
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
reverse z gone wrong
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
So next:
- load a small scene I can move a character around on
- Select a spot in 3D with mouse and draw a daw a circle there
- Move character there
I am not working on anything else. Anything else becomes a GitHub issue for later
Maya?
it's so much better than blender 
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? 
