IRC logs of Libera.Chat #BZFlag for Thursday, 2024-02-29

bz-nextit also does fmodf of the texture offset against the texture size, which sounds nice, but that means you need to query the exact texture used to get the size. What's the worst that could happen just letting it grow unbounded and then resetting it on spawn?00:08
bz-nextAlso there is some madness in the material manager where two materials can compare equal if they have different names...00:25
bz-nextwhich makes it impossible to use the manager for dynamic stuff in the scene, since let's say you have two rogue tanks, and _player0TankMaterial and _player1TankMaterial00:27
bz-nextAt first they are the same. Then one goes phantom zone, and you have to adjust the color. Oops, the materials were silently merged into one, so you just adjusted both00:27
bz-nextperhaps it is best to not use the global material manager for tank materials and things like that after all. I thought it would make things simpler, but it really just makes things nightmarish.00:29
bz-nextor, just gotta be smarter about it00:34
bz-nextI think making it so that the material manager can return a non-const pointer to the material would be a good start00:38
*** FastLizard4 is now away: AWAY from keyboard03:00
*** FastLizard4 is back03:47
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 268 seconds)04:02
bz-nextI have explosions basically working, but man is there a lot of weird state between Player.cxx and the tank scene/render nodes04:20
*** FastLizard4 is now away: AWAY from keyboard04:53
*** FastLizard4 is back05:28
*** yuitimothy <yuitimothy!~yuitimoth@user/yuitimothy> has quit IRC (Quit: Comme รง'est mignon)05:59
*** yuitimothy <yuitimothy!~yuitimoth@vps-022df355.vps.ovh.ca> has joined #bzflag06:00
*** yuitimothy is now away: I've done some soul-searching and I still can't find it.06:00
*** FastLizard4 is now away: AWAY from keyboard06:20
bz-nextexplosions, treads, and wheels all work now, and they are using the main material manager06:21
bz-nextso you can watch the tank wheel texture rotate in the material viewer as someone drives around, and fade to transparent as they explode06:25
bz-nextit's a bit ad-hoc, but I think it's still less ad-hoc than the original06:25
bz-nexttank scaling and squishing, including for flag effects like TH, seem to work also06:45
bz-nexthttps://i.imgur.com/DgUJtFg.png07:11
bz-nextnext up is billboards and flags, or maybe deferred rendering, depending on what happens07:18
bz-nextso far, the entire world is rendered using one shader (or technically two, since it's technically a separate shader for untextured materials rn). By using the same materials system and shader for everything, it'll be easier to plug in something fancier later on07:22
*** Sgeo <Sgeo!~Sgeo@user/sgeo> has quit IRC (Read error: Connection reset by peer)09:14
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag12:27
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag12:28
BZNotifybzflag-bzfls3: blast007 created branch master (https://github.com/BZFlag-Dev/bzflag-bzfls3/compare/c0d152e71cc6^...96bb1d481d74):12:28
BZNotifymaster @ bzflag-bzfls3: blast007 c0d152: Initial import (https://github.com/BZFlag-Dev/bzflag-bzfls3/commit/c0d152e71cc657546152facd6e4f30be874b3f2b)12:28
BZNotifymaster @ bzflag-bzfls3: blast007 a077f7: Allow empty server descriptions. (https://github.com/BZFlag-Dev/bzflag-bzfls3/commit/a077f722a211ee8ab75a68da18a0218f3d6611de)12:28
BZNotifymaster @ bzflag-bzfls3: blast007 be0d4a: Fix the hostname and protocol string validation. (https://github.com/BZFlag-Dev/bzflag-bzfls3/commit/be0d4a62cd51426bd6e8bd5e2e2ecb17255fc3b0)12:28
BZNotifymaster @ bzflag-bzfls3: blast007 03d4a8: Add initial support for adding/updating servers. (https://github.com/BZFlag-Dev/bzflag-bzfls3/commit/03d4a80acbba6b535785d85ad057d6d713e2e689)12:28
BZNotifymaster @ bzflag-bzfls3: blast007 8d4bfe: Implement the GETTOKEN action. (https://github.com/BZFlag-Dev/bzflag-bzfls3/commit/8d4bfe9a57332f5717810bd56dafe47ab60290f2)12:28
BZNotifymaster @ bzflag-bzfls3: blast007 6b1b37: Support filtering the list by protocol version. (https://github.com/BZFlag-Dev/bzflag-bzfls3/commit/6b1b378cf354ef20c8600f28812461e1e56382a1)12:28
BZNotifymaster @ bzflag-bzfls3: blast007 d1112f: Update dependencies. (https://github.com/BZFlag-Dev/bzflag-bzfls3/commit/d1112f3d7e6ac50226568aa27424da4fe98260d0)12:28
BZNotifymaster @ bzflag-bzfls3: ...and 3 more commits12:28
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 268 seconds)12:32
BZNotifymaster @ bzflag-bzfls3: blast007 force pushed 1 commit (https://github.com/BZFlag-Dev/bzflag-bzfls3/compare/96bb1d481d74...52ebcd2cee67):12:35
BZNotifymaster @ bzflag-bzfls3: blast007 52ebcd: Expand the legacy server list functionality. (https://github.com/BZFlag-Dev/bzflag-bzfls3/commit/52ebcd2cee67438d80c188f309c1d9a1eee99497)12:35
*** FastLizard4 is back13:38
*** FastLizard4 is now away: AWAY from keyboard13:50
*** FastLizard4 is back14:02
*** FastLizard4 is now away: AWAY from keyboard14:21
*** FastLizard4 is now away: GONE - Screen Detached and Disconnected from IRC (I'm probably asleep, at work, or doing something in real life)14:50
*** Sgeo <Sgeo!~Sgeo@user/sgeo> has joined #bzflag15:34
bz-nextI have a general idea of how to support the wide variety of custom shaders that might be useful for rendering. Basically, in the scene graph, every objects gets an attached "Drawable". The library traverses the graph, composing transformations and then passing that to the drawable along with camera position for rendering15:41
bz-nextThe drawable will just query a global manager for a draw strategy (draw mode), and then pass the transformation matrix, camera, mesh, and material to that for rendering15:42
bz-nextSo for example, to render a depth texture for shadow mapping, you'd just set the draw mode to your depth map mode, that calls a depth map shader. Then you can set it back to regular phong material mode after15:43
bz-nextThen the main renderer can just orchestrate everything.15:45
blast007We've had a 'shader' list in our material definition/parsing since 2.0, I believe.  It hasn't been used for anything, but it stores a list of shader names.16:08
blast007no idea of that would even be useful, but it *is* already enabled in the BZW parsing and network protocol level16:09
bz-nextI'll have to look into it, but I dunno if it'd be super useful. But if it can be a back door to allowing for fancier maps without an update, then I am obligated to try it :)16:26
bz-nextI know the materials support adding multiple textures / material, but I don't think it has ever been used for anything16:26
bz-nextI don't think that's a great approach, because there's no metadata about what the textures are actually going to be *used* for. I think a better approach for fancier materials would be to specify different versions of the same material entirely. Maybe those versions could default to copying relevant attributes from the most basic phong material in the set though16:30
bz-nextProbably the way to do it is to just consider what makes the most sense in the BZW file and then just bend the relevant code to support it16:34
bz-nextmaybe phongMatRef, phongDisplacementMatRef, pbrMatRef, and matref is just an alias for phongMatRef? Or something like that?16:36
bz-nextor group all the alternatives under a single material instead16:37
bz-nextthe latter is probably the minimum viable hack16:38
bz-nextI have shader muxing infrastructure set up and a small demo shader that works, so I think now it's time to try out shadow mapping. It'd be a good demo to show how to do stuff in the new system17:04
bz-nextonce that's done, I'll add support for billboards and add tank bullets, and at that point I think all the essential infrastructure for the game will be in place17:35
bz-nextthere are a bunch of little things to do, like shot bounce effects, the spawn effect, etc. Those could all be done differently if wanted. But there will be a lot of room to experiment17:36
bz-nextprobably most transient effects can be accomplished with animated scene nodes that just kill themselves when the animation is done, which would make it easy for code to add an effect: just create the object at the right position, set its animation to start, and add it to the scene17:39
*** FastLizard4 is back19:08
*** FastLizard4 is now away: AWAY from keyboard20:12

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!