| Age | Commit message (Collapse) | Author |
|
this will make it easier to change the image view dynamically as a push update, in a future CL
Force-Push: yes
Change-Id: If7cfab07913a5a462e16dd7fb478ed491d33d4d9
|
|
yay build script stuff :)
Force-Push: yes
Change-Id: I694651febb02f42dac904f0dfbf4089c33ef937e
|
|
now it matches load_png() in a sort of abstract, high-level way
this is meant to make it easier to abstract over assets
Force-Push: yes
Change-Id: Icddc6180e0c78c29bebbd47d84bb381c4fd0c3ca
|
|
this mirrors files::obj
Force-Push: yes
Change-Id: I17ccae0b54b49453100873ba707ee36406b96057
|
|
the word "graphics" is part of the module name, so it does not need to be part of the struct name
the fact that an object holds state is... not strictly implied by the fact it's a struct, but it happens that ALL our objects exist primarily to hold state, so we remove that word as well
Force-Push: yes
Change-Id: I1b3e2ac0f1c29304e75a190172463aabfba4b3a4
|
|
as part of this, the command pools are moved from window dressing to permanent
note also how mip count is a value computed by loading the texture, and used when creating the sampler, which is part of the window dressing. the assumption about how it's computed will have to change when we support multiple textures, but for now we settle for just pushing the assumption to the top level.
Force-Push: yes
Change-Id: I545c53feedc99628fbe943120798fe66fe9e065b
|
|
Force-Push: yes
Change-Id: I0d506fa517daeacf63b52fdd5900f1bbee9c22b7
|
|
Vulkanalia tracks it for us in Device. it's used in Model, so it wasn't strictly in-scope for ForReinit; this solves the problem and simplifies some stuff.
Force-Push: yes
Change-Id: I8e38c236b3dc4c112671382a062c9ada2f34fbb1
|
|
Force-Push: yes
Change-Id: Ic6aa38b7d069825beadeb144eace5a9d23f0d21b
|
|
now this is starting to feel like halfway decent organization
Force-Push: yes
Change-Id: I45cc4afb45e1528705680eb4192c1e9ba72f53fb
|
|
Force-Push: yes
Change-Id: I5cbdf59870258f099fc6dd47ff2f1566376c1585
|
|
subdividing the lifetimes of all our various objects may feel questionable in general, but this particular division is a very natural one
Force-Push: yes
Change-Id: I499a32875a4d75965944af720e7bfd6ec5965c15
|
|
use push constants
this concludes the tutorial; there's now a bit of fairly obvious refactoring to do to group objects in a way that reflects when they're needed, which can be followed by building a real scene graph
Change-Id: Id3b76d00d08ae915270095bd606e41767b7ec177
Force-Push: yes
|
|
yay
less fuzz
or more fuzz
depending on what you think of as fuzz
Force-Push: yes
Change-Id: I207c040805d97baaa8be887a463a37863159056e
|
|
Force-Push: yes
Change-Id: I2683fa6e3f290a812b74e5b64701c3094bb5cbee
|
|
yay
Force-Push: yes
Change-Id: Icb715692286c8560532ab73d32a49be8f485d790
|
|
yay
Change-Id: I7795e22712f27b262cde807a942ddec342d07c55
Force-Push: yes
|
|
in order to test the depth buffer, which does not yet exist
Force-Push: yes
Change-Id: Ibb4c279ff8b83ad9c0c37897f623631c4e342fb0
|
|
separate from the linear algebra stuff
Force-Push: yes
Change-Id: I26fc7ac596f304fa35ca7a4d0e1349d4fa0685ee
|
|
wow yay :)
Force-Push: yes
Change-Id: I7053ec3a7ed7b46e9c9d1260fd0f73b398b798af
|
|
also refactor buffer management a little
this doesn't yet draw the texture
Change-Id: Id2efa761223a588bf599041ac525c3b988f0113b
Force-Push: yes
|
|
now we have real camera behavior. yay!
Force-Push: yes
Change-Id: I291d0cce0f2624e9bff8356c8dbe2aabc49599e2
|
|
Force-Push: yes
Change-Id: I66313a981a19ca65fa68463e89e093da14fde41e
|
|
ahem. more formally: provide animated uniforms to the shader, and use them
the tutorial just wants us to do three matrices, and to defer all the actual math to a library it recommends. that would certainly be simpler. anyway, we use quaterion+offset for everything but the projection frustum, and do all the math ourselves
Change-Id: I399f432bebb1e7ca4d4342efa1d5aaf37b32f427
Force-Push: yes
|
|
Force-Push: yes
Change-Id: I2c58bad402908fa36caf271da3cae78e43ef3110
|
|
this uses a staging buffer and a final buffer, per the tutorial. it also uses a new command pool for purely transient command buffers, which the tutorial mentions as a possibility but doesn't detail.
Force-Push: yes
Change-Id: Ic74c89045869bcc7bd0313aa162c87536fb561fc
|
|
Force-Push: yes
Change-Id: I3276e65f2ef29199b57a748a321998747b607b22
|
|
kinda cool how the driver interfaces with the kernel to map memory on our behalf
Force-Push: yes
Change-Id: I906f68b59dcedc1fd6d9bfc52c9b299abc9cd828
|
|
Force-Push: yes
Change-Id: I11c96044372dbc9fb10ad5af5d22e72a42080ca7
|
|
yay
Force-Push: yes
Change-Id: Id8dce4cd4bc696be322fe5b612837e3651437f7e
|
|
now that the two halves of the graphics state are in their own files, this is easier to read
the public functions remain as part of the impl
Force-Push: yes
Change-Id: Ic7d73be04f31b484348bbc5d62cc93f0c877717c
|
|
Force-Push: yes
Change-Id: Ib2db6c2af91698678c99969f575636abb4215b54
|
|
Force-Push: yes
Change-Id: I3600d1588ce7251b91e33a8956d89357fadda013
|
|
Force-Push: yes
Change-Id: I09cbc3c2e1e20beba0cf64d346222e3dc2d680ea
|
|
Force-Push: yes
Change-Id: Icd63ed890ae0c726b71bb85e02072faff32cb87e
|
|
this will help with the re-creation thing
Force-Push: yes
Change-Id: I74d70c7dd1d11ade0d1d4cf0a0e20da45b76e942
|
|
Force-Push: yes
Change-Id: I6968fd0332a86e595d2d6983c02c761e51300e9b
|
|
almost everything in Surreality that isn't in WindowDressing is now in Permanent
Force-Push: yes
Change-Id: I994427668030ed2ebf5f159fa4d5d665ca07b372
|
|
Force-Push: yes
Change-Id: I563da2752169ed5a6d6c6e0e712823222dcf850d
|
|
yay
Force-Push: yes
Change-Id: I65bef1f64c8e1eaef0897d9a01a2bf09cdef47f1
|
|
as a now-removed comment said, doing this repeatedly was always sus
Force-Push: yes
Change-Id: I419683cc979147aff1790a75aa03509b23ae561e
|
|
they are replaced with tuples and single-purpose bool wrappers
Force-Push: yes
Change-Id: Iabf9c1d3f9dddee160d556004b2a72b15cd6e574
|
|
the goal is to make clear that it's a single-purpose value-return struct
Force-Push: yes
Change-Id: Idf3a3ebce2d44ea4fa2c75073e33b34c9055ca8b
|
|
this is to group things with related lifecycles together
Force-Push: yes
Change-Id: If4ee44715900f3379f6589ac1e90afe62e6a2328
|
|
Force-Push: yes
Change-Id: I52cf7db5a61899c54ceecd0f86acbef13474d929
|
|
yeahhhhhh, it wasn't viable to do this while following that part of the tutorial, but it was always gonna be needed
anyway, now all the various pieces of initialization are associated functions instead of methods, which makes it dramatically easier to see what the data dependencies are
Change-Id: Ie63272945430e27d1026ad3cb724d8ac2d2f6047
Force-Push: yes of course
|
|
yeahhhhhhhhhh
Force-Push: yes
Change-Id: I30a7cc5bd35d22beb81c7bef8013b636e74ee5e2
|
|
Force-Push: yes
Change-Id: I5a565f3ad343a36ffe17436b337f524805d072f7
|
|
Force-Push: yes
Change-Id: Ibf09815b6d64c80242d623a1a5f387d6e7166f67
|
|
Force-Push: yes
Change-Id: I3e3aa50c5de4b2ccb0719663e029aadb3056dc70
|