Author Topic: nGL - a fast (enough) 3D engine for the nspire  (Read 269837 times)

0 Members and 2 Guests are viewing this topic.

Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Re: nGL - a fast (enough) 3D engine for the nspire
« Reply #300 on: June 02, 2014, 04:05:41 pm »
Quote
Just un point: why does the "fast mode" seem to be slower on my calc?
Weird. For me it's almost a 100% improvement.. It can't be slower, though. Maybe you accidentially changed the max. distance?

Quote
By the way, would it be possible to make the "loading" vanish while playing even though it reduces the speed? The loads would be progressive instead of all in the same time.
Not really. I could generate 10MB of Chunks and use that, but it'd take 10 minutes to generate and also 10 minutes to load each time you want to play.
And I'm not sure what you mean by "even though it reduces the speed".

Anyway, I forgot to mention that crafti also became my official project at school, so crafti is now part of my abitur  ;D

Offline mdr1

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 303
  • Rating: +21/-2
    • View Profile
Re: nGL - a fast (enough) 3D engine for the nspire
« Reply #301 on: June 02, 2014, 04:13:01 pm »
Weird. For me it's almost a 100% improvement.. It can't be slower, though. Maybe you accidentially changed the max. distance?
Actually, the "fast mode" is faster but involves much more "loading"...

Not really. I could generate 10MB of Chunks and use that, but it'd take 10 minutes to generate and also 10 minutes to load each time you want to play.
And I'm not sure what you mean by "even though it reduces the speed".
I was asking if instead of loading a block of map each time you need it, you could begin to load it progressively when we come close to it. This progressive load would reduce a bit the speed but would make the "loading" disappear.



Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Re: nGL - a fast (enough) 3D engine for the nspire
« Reply #302 on: June 02, 2014, 04:16:43 pm »
Weird. For me it's almost a 100% improvement.. It can't be slower, though. Maybe you accidentially changed the max. distance?
Actually, the "fast mode" is faster but involves much more "loading"...
That's just because of the higher FPS you also walk faster to the next unloaded chunks. You could turn the speed to "slow", I guess.

Quote
Not really. I could generate 10MB of Chunks and use that, but it'd take 10 minutes to generate and also 10 minutes to load each time you want to play.
And I'm not sure what you mean by "even though it reduces the speed".
I was asking if instead of loading a block of map each time you need it, you could begin to load it progressively when we come close to it. This progressive load would reduce a bit the speed but would make the "loading" disappear.
That's basically how it works now...

Offline mdr1

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 303
  • Rating: +21/-2
    • View Profile
Re: nGL - a fast (enough) 3D engine for the nspire
« Reply #303 on: June 02, 2014, 04:25:51 pm »
That's just because of the higher FPS you also walk faster to the next unloaded chunks. You could turn the speed to "slow", I guess.
Ah ok, you could be right.  ;D

That's basically how it works now...
But... didn't you speak about "the next unloaded chunk"? I meant not to load chunk by chunk but progressively. Doen't the "waiting" mean the loading of an entire chunk which hasn't been loaded at all yet?



Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Re: nGL - a fast (enough) 3D engine for the nspire
« Reply #304 on: June 02, 2014, 04:33:11 pm »
Basically yes. It could also happen if the generation of the Chunk geometry takes too long.
While you walk, it determines the Chunks that would have to be loaded and loads it.
If they're not loaded when you reach it (the sum of chunks currently loading) exceeds a specified value, it shows the loading message instead of hanging.
To get something like this done smoothly is very hard (near to impossible) without proper multitasking.

Offline XiiDraco

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 513
  • Rating: +32/-5
  • Forget the numbers, just call me, Recreation.
    • View Profile
    • Black-Lark Games
Re: nGL - a fast (enough) 3D engine for the nspire
« Reply #305 on: June 02, 2014, 06:33:51 pm »
Speaking of multitasking. You know what I think would be fun, and awesome but probably isn't likely or possible(or already has been done in which case I'm an idiot and stop reading this)? Threads for calcs. But the real question is do they have GPU's?


I'm way to lazy to check or ask if this is at all possible or whether or not it has or has not been done. This post is actually more of me showing my appreciation of the challenges of multi-threaded process/rendering.

Anyway, AWESOME game/engine/thingi Vog, I haven't been checking up on it for a while but it looks GREAT!

Offline bb010g

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 428
  • Rating: +22/-1
  • I do stuff
    • View Profile
    • elsewhere on the net
Re: nGL - a fast (enough) 3D engine for the nspire
« Reply #306 on: June 02, 2014, 08:21:37 pm »
Not really. I could generate 10MB of Chunks and use that, but it'd take 10 minutes to generate and also 10 minutes to load each time you want to play.
And I'm not sure what you mean by "even though it reduces the speed".
I was asking if instead of loading a block of map each time you need it, you could begin to load it progressively when we come close to it. This progressive load would reduce a bit the speed but would make the "loading" disappear.
That's basically how it works now...
Why, then, does it have to load all the generated chunks at start? Can't you just load selective parts of the file into memory, accessing like an array? (Guessing you don't have arbitrarily large block data yet, but you could still stick that at the end (found by a position dictated in the header of the save).)

Ninja edit: It looks awesome. :D Nice work.
Arch Linux user
Haskell newbie | Warming up to Lua | Being dragged into C++
Calculators: HP 50g, HP 35s, Casio Prizm, TI-Nspire CX CAS, HP 28s, HP Prime, Mathematica 9 (if that counts)
π: 3.14...; l: 108; i: 105; e: 101; l+i+e: 314
THE CAKE IS A LIE IS A PIE

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: nGL - a fast (enough) 3D engine for the nspire
« Reply #307 on: June 03, 2014, 12:17:22 am »
Wow, this looks even better than the previous version! O.O

Offline jiagejiage

  • LV0 Newcomer (Next: 5)
  • Posts: 3
  • Rating: +0/-0
    • View Profile
Re: nGL - a fast (enough) 3D engine for the nspire
« Reply #308 on: June 03, 2014, 06:19:33 am »
大声笑!它支持TI-NSPIRE CAS号!
它的工作太棒了!虽然我喜欢原来的材料  .

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: nGL - a fast (enough) 3D engine for the nspire
« Reply #309 on: June 03, 2014, 06:20:26 am »
^spambot?
Edit: Turns out he's not :P
« Last Edit: June 03, 2014, 06:23:32 am by aeTIos »
I'm not a nerd but I pretend:

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: nGL - a fast (enough) 3D engine for the nspire
« Reply #310 on: June 03, 2014, 06:21:09 am »
Pretty sure of it.

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: nGL - a fast (enough) 3D engine for the nspire
« Reply #311 on: June 03, 2014, 06:22:42 am »
nope :P
Quote from: google translator
LOL! It supports TI-NSPIRE CAS number!
It worked great! While I prefer the original material.

Also, most of us don't speak chineese ;)

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Re: nGL - a fast (enough) 3D engine for the nspire
« Reply #312 on: June 03, 2014, 12:44:09 pm »
Speaking of multitasking. You know what I think would be fun, and awesome but probably isn't likely or possible(or already has been done in which case I'm an idiot and stop reading this)? Threads for calcs.
Yes, it has already been done, but it has much overhead.

Quote
But the real question is do they have GPU's?
That depends on your definition of GPU.. The LCD controller (PL110) can do some basic things itself, but nothing useful.

Quote
I'm way to lazy to check or ask if this is at all possible or whether or not it has or has not been done. This post is actually more of me showing my appreciation of the challenges of multi-threaded process/rendering.
Yep, that's really the case. Multithreading can be a PITA..

Quote
Anyway, AWESOME game/engine/thingi Vog, I haven't been checking up on it for a while but it looks GREAT!
Thanks!

Not really. I could generate 10MB of Chunks and use that, but it'd take 10 minutes to generate and also 10 minutes to load each time you want to play.
And I'm not sure what you mean by "even though it reduces the speed".
I was asking if instead of loading a block of map each time you need it, you could begin to load it progressively when we come close to it. This progressive load would reduce a bit the speed but would make the "loading" disappear.
That's basically how it works now...
Why, then, does it have to load all the generated chunks at start? Can't you just load selective parts of the file into memory, accessing like an array? (Guessing you don't have arbitrarily large block data yet, but you could still stick that at the end (found by a position dictated in the header of the save).)
File access is SLOW. Slower than generating chunks on-the-fly. That's why I just load every Chunk in the savefile directly at the splash screen..
Quote
Ninja edit: It looks awesome. :D Nice work.
Tee-eitch-ex!

大声笑!它支持TI-NSPIRE CAS号!
它的工作太棒了!虽然我喜欢原来的材料  .
Great to hear that it works on HW as well as on nspire_emu :D

Also, most of us don't speak chineese ;)
At my school the teachers can now take chinese lessons for free. God knows why, but my history teacher really annoys me.
Sometimes, when he walks into class he greets us with "Nǐ hǎo"  ._.

But BTT: I'm currently in the process of thinking about redstone, and I haven't found the best solution yet.
I thought about giving each block a bit, which indicates whether it's powered or not, and a tick() function for redstone-active stuff.
The problem is, that if a wire is between two blocks and you power one of them, the wire also powers the other block.
Now, if you turn the block off, the other block is still active and the wire lets it propagate to the other block. Now both blocks will stay powered forever :-\
Does anybody have an idea, which is simple, elegant and also fast?

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: nGL - a fast (enough) 3D engine for the nspire
« Reply #313 on: June 03, 2014, 01:08:03 pm »
Maybe you could use two bits per block instead of one ? I don't know how many ibts you have available in each block, but if you have two, you can do that. Basically use them as the D and Q ports on a D flip-flop ;)
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Re: nGL - a fast (enough) 3D engine for the nspire
« Reply #314 on: June 03, 2014, 01:19:53 pm »
Hmm, I guess that could work. Just another bit for indicating whether it's a power source. I wonder why I haven't thought of this earlier, thanks  ;)
A simple enum {
NOT_POWERED,
PASSIVELY_POWERED,
ACTIVELY_POWERED } should do it.
Sadly I just found out that the door block occupies the highest bit (1<<7, for top/bottom door part) which I wanted to use..
Is it ok if I break all doors (suddenly consisting out of two bottoms)?