@DominicHughes You should have a careful reason for combining or splitting VBOs
The hardest hitting detail is probably index buffers, but that becomes trivial when you got a bit deeper because of things like offsets and strides
Your core cases are (Write Once, Read Once), (Write Once, Read Many) and (Write Many, Read Many), then any of these cases can happen with your CPU as the reader or writer, your GPU as the reader or writer, or one as both reader and writer
in the "CPU <-> CPU" case, you don't bother to involve OpenGL, but in any of the cases involving a GPU on one or more sides, you should read this page: Specifically read how the "usage" parameter is explained: opengl.org/sdk/docs/man2/xhtml/glBufferData.xml
That can motivate some decisions, like combining meshes if their polygons will never change, or splitting the position & normal apart from the texture coordinate if you plan to change one of them over time, but not the other
In my ShaderX book one of the articles uses an octree, but when they interpolate it naively it of course has artifacts at the edges... Their solution was to use a distance weighted average of all nearby nodes, instead of a trilinear interpolation
They could have just fixed the artifacts in the trilinear way easier
For rendering, scale matters very little, watch the global offset though. For physics though, it can matter more.
Also the further your scale is away from something "reasonable" (@Almo's suggestion), the more you amplify the risks of numerical instability
Usually some slight rounding error in the video goes unnoticed, actually it normally does in the physics too, but the physics is a complicated feedback system
With that said though, the rounding error can be analysed and accounted for... it's just a lot more work than the usual programming
I have one dog that is annoyed by hugs, and one dog who will growl at you if you don't hug her enough. It would take strong evidence to convince me that all dogs have the same preference on being hugged.
If every day since they were a puppy, they learned that getting smacked means you're about to get food or go on a walk, it just becomes the "sound of Pavlov's bell"
@tkausl I mean, it's not crazy at all because it's deeply integrated into the system design, and I've made very specific accommodations. But in a more traditional system, the "naive" methods don't do what I want at that scale
@tkausl btw, I have to use relative coordinates exclusively, if you pack a world space coordinate into a float3 and unpack it, it's severely snapped-to-grid by the time you get to the edge of the world
I use 12 bytes per component, 288-bit world space positions
And there is no "Origin" in the traditional sense, in calculations I use an object (preferably the player) or the world cell enclosing the script
Id like to do independent positioning of my 2d shapes but it seems that when I try and change modelviewmatrix differently for each shape they all move on the last modelviewmatrix set.
guess it makes sense since modelviewmatrix is mainly for moving all the models of the scene .
@tkausl This is an actual example of the "picky about silly stuff" coming up and I know it's meant to be humor, but it's really dangerous for people who don't have a clear understanding and are looking for the first easiest thing to latch on to.
I mean, what I were trying to say were, maybe Dominic go ahead do whatever he thinks is right, and may succeed or fail; either way profit if he can learn from it.
Good afternoon guys,
a = N * w' * V
is the formula for the commanded acceleration required to hit the target,
where N is the proportionality constant, w' is the change in line of sight and V is the closing velocity.
If I'm given both interceptor and target positions, velocities and orientations, ...
"To resolve this, just right click on the file and then choose 'Properties'. In the properties window, at the bottom you will see a security notice which says "The file came from another computer and might be blocked to help protect this computer". You will also see a 'Unblock' button next to it. Just click on 'unblock' and then 'Apply' and then click 'OK' to close the properties window." java-samples.com/showtutorial.php?tutorialid=1537
so I made this code:
y = 0
for(x = 0; x <= 1000; x = x + 1){
if x % 3 == 0 or x % 5 == 0(){
y = y + x
}
}
console.log(y)
to add all the multiples of 3, and 5 between 1, 1000 and I get a message saying "syntax error, unidentified identifier", pointing to that. Can you help me?