Stay as-is, or rewrite?

Asked by Michael Rawson

Hi, all two of you.

In the last half-hour, I spent some time doing something I should have done beforehand: google implementing voxels.

Turns out what we/I are/am doing is nowhere near the most efficient route, nor the one that is easiest over time. What we're currently doing is blindly adding voxels ('cause I'm a n00b) whenever we feel like it. What we could do is something awesome (and complex) based on octrees (or some other form of tree), that could be a lot more efficient and allow for things like procedural rendering and precision settings.

So, we've basically got three options:

-Continue as we are. I haven't actually noticed any problems yet with performance, and the idea itself is sound, just a little inefficient.

-'tack on' features that make it more efficient. Technically we can still implement a lot of the aforementioned stuff with what we've got, it's just a little more difficult/less efficient. For example, implementing octrees would be possible with a (current) voxel as the base unit.

-Go (almost) from scratch again. This is probably a better (if more complicated) approach. We could also re-use most of the code. However, there's the onerous burden of re-doing most of it, and we were getting somewhere with what we have now. (I think we're quarter of the way to something useful, or thereabouts).

What do you guys think?

Question information

Language:
English Edit question
Status:
Solved
For:
GlVoxel Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
james rawson (jamesrawson628) said :
#1

I guess that it depends whever you want to rewrite?If so, then rewrite, else use the octrees etc.

Revision history for this message
Michael Rawson (michael.rawson) said :
#2

"Whever". Facepalm.

I think we need The Other Guy's input on this.

Revision history for this message
james rawson (jamesrawson628) said :
#3

I was having a thick moment...."the other guy" is milleja. I did subscibe him to this, so he should be getting pings.

Revision history for this message
Joshua Miller (milleja46) said :
#4

Well if you think a rewrite would help it then go ahead, but if it can be
left as is and just do small rewrites then do that. It all depends on what
you think about it...especially since I'm still somewhat in the mode of
learning c++ I know it to some extent but I've still got to spend some time
making sure i know it and learn as much as I can. (kinda why I've been just
keeping tabs on it, and learning from what micheal has done and trying to
learn from that). But rewrite where you see fit and I'm really going to try
and start helping out more soon or at least I hope so....

On Mon, Oct 15, 2012 at 4:31 PM, james rawson <
<email address hidden>> wrote:

> Question #211213 on GlVoxel changed:
> https://answers.launchpad.net/glvoxel/+question/211213
>
> Status: Open => Answered
>
> james rawson proposed the following answer:
> I was having a thick moment...."the other guy" is milleja. I did
> subscibe him to this, so he should be getting pings.
>
> --
> You received this question notification because you are a direct
> subscriber of the question.
>

--
~ Josh Miller

A young guy learning to program and develop websites all while still in
school

Revision history for this message
Michael Rawson (michael.rawson) said :
#5

I don't especially think it would be a lot better re-written, so I'll just keep on hacking. Thanks for input guys, just didn't want to make a decision without involving you all. :)

If you just wanna dive in, please do. I won't mind at all, but expect a load of tickets about stuff. ;) If you've got a question about anything, feel free to drop me a line.

Oh yeah, I'm still kinda green around the ears (around a year programming w/C++), so don't take my stuff as gospel code. I would say it isn't bad, but a long way to go for production standard yet.

I hear you're using eclipse? There's a .cproject file for Eclipse CDT if you're interested in that.

Revision history for this message
Michael Rawson (michael.rawson) said :
#6

Setting to solved. Thanks guys!