so it uses an external tool, that is interesting, i didn't even look for existing stuff that would convert .map to meshes (apart from your parser)
illwieckz
the external tool was the first experiment
martin-t
i am still not serious about blendiant, got other projects to work on, was just using it to play with .map files a bit and parsing in rust
illwieckz
it looks like latest stuff is not using noesis
martin-t
also blender wants to rotate the viewport around a given point but for modeling interiors i feel like t might be more natural to rotate like you do in game - turn the camera itself, not sure if a blender addon can do that
ok, will look at the code when it's public
i am not even sure writing a parser in rust is a good choice given there are existing parsers in q3map2 at least, probably many others
illwieckz
rust is a good language by itself, but yes there is code in other languages around there, and blender has builtin python
a python plugin is ensured to work on any platform
I know my map parser is not built for performance (all those regexp! ), I'm not against doing the job the token-walker way (I'm not saying I have time to rewrite things that already work )
martin-t
yeah, python is not great for perf (though even my parser in rust isn't exactly instant), still, would be nice to have one implementation that can export bindings to several other langs
extracting code from q3map2 into a lib would work too i guess, i just don't wanna touch it too much
illwieckz
yes
martin-t
so yeah, blendiant is mostly an experiment and not all choices i made (or will make) there necessarily are the best
illwieckz
there is code somewhere™️ to add doom3 and v220 .map support to q3map2, this can end in a multiformat .map parser
but I am afraid that q3map2 code does not looks very nice
especially, it's full of global vars
martin-t
but if something comes out of this project, i might help too, editing maps in something other than radiant would be sooo nice
illwieckz
also, jumping into the blender train would be great
martin-t
you're right that uniting people is a good way to unite projects
so when SomaZ's stuff is published i will link to it from blendiant in case some poor soul decided to extendblendiant
illwieckz
martin-t
discoverability is important to avoid splitting work
illwieckz
YES
martin-t
well, splitting work is nice, duplicating is bad, that's what i meant
illwieckz
I understood like this
SomaZ
Oh hey. Just want to make sure that I import .bsp files and not .map files. ^^ Main goal of this is to alter some properties of the bsp draw vertices, lightmaps and the lightgrid directly in the bsp. Combining it with a .map importer and exporter would be perfect. A friend of mine started a .map exporter for 3ds max some time ago. He even converts uv coordinates to the mapping matrix that the old brushes use.
I tried to write this importer as modular as possible. Means I use lots of dictionarys, sets and lists. One can just write a new class that describes another bsp format and the rest should work out of the box as long as some class variables are named correctly.
5 août 2019
martin-t
is that .map exporter code public? the issue with exporting .map from normal 3d tools is converting stuff into convex shapes
i planned to solve that using CGAL's convex decomposition algo but didn't get to it yet so i am curious how he solved it
SomaZ
I think it's close to a public release. I have no idea how he does it, I think he mentioned using a nvidia physics plugin.
https://youtu.be/YzVZIvpuctY
implemented entity parsing and md3 model importing
(all the darker stones around the map are misc_model_statics with a md3 model)
13 septembre 2019
SomaZ
full lightmap support
14 septembre 2019
illwieckz
wow, that looks good!
SomaZ
ty
illwieckz
I'm impressed about how fast it evolves!
SomaZ
imo not fast enough, but it's ok I guess. Wish I had more time to work on this. :/
15 septembre 2019
martin-t
yeah, that's pretty impressive
i wish my loading/saving script progressed like this but have no time to work on it
SomaZ
At least I've written the plugin modular. Like this you can use the shader system and the entity system for your .map plugin.
16 septembre 2019
SomaZ
looks like I figured out how to read the lightgrid in blender. Just need to pack all of this into code and actually shade all the entitys
17 septembre 2019
illwieckz
wowowowow
SomaZ
got the ambient light complete from the light grid, now only direct lighting from the lightgrid is missing
21 septembre 2019
SomaZ
finished all the static light sources
25 septembre 2019
SomaZ
only two things missing from the shader system: tcMod and all the rgbGen wave functions
26 septembre 2019
martin-t
idk how much work it took and you clearly know blender better than i do but this looks really fucking impressive
SomaZ
thats alot of work. Really appreciate your acknowledgement. Maybe I know blender better but I think you are the better programmer though ^^
btw, added some tcMods from the shader system
martin-t
it basically looks like the real game
i don't think i'll ever get to that level with blendiant (the .map loading saving script) given i have no motivation/time to work on it now but at least now i know it's possible
also still hoping you release the source eventually
SomaZ
I definitly will. As I said, you can simply copy the shading system then.
i extract lightmaps from bsp with q3map2, convert bsp to .obj with lightmap coordinates, import obj with lightmaps, make lightmaps grey, bake new lighting into grey textures, import new lightmaps back into bsp with q3map2
cycles lightmap baking
I don't know if it's possible to turn a private group into a discord server…
maybe it would be time to give life to the Blendiant Task Force™️
quBit
i dont think you can convert it into a server, but you can open a server