Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port to gfm:math from gl3n #211

Open
ColdenCullen opened this issue Aug 23, 2014 · 16 comments
Open

Port to gfm:math from gl3n #211

ColdenCullen opened this issue Aug 23, 2014 · 16 comments
Assignees
Labels

Comments

@ColdenCullen
Copy link
Member

I think switching from gl3n to gfm is the right move for Dash in the long run. Unfortunately, it's going to take a lot of work.

This would be a great project for an external contributor to work on, to get to know the engine. The effort has already started here, so that would be the place to pick up from.

@p0nce
Copy link

p0nce commented Aug 24, 2014

Is there any feature/aliases/functions to add that would make it less work?

@ColdenCullen ColdenCullen self-assigned this Aug 28, 2014
@ColdenCullen
Copy link
Member Author

Damnit, I totally thought I responded to this, my bad. If I miss something like this in the future, feel free to ping it.

Most of the work for this is going to come from renaming vec3s from gl3n to vec3f, of gfm, and the like. I actually prefer this naming convention, as it explains what the type is much more clearly.

That said, there are some things that gfm is missing, mostly in Quaternion. I'll try to make a list here soon, and open issues on GFM. The most obvious things I can think of are I would like an alias of quatf (rather than quaternionf, which is too verbose for my tastes), and also a constructor that takes 4 Ts.

@wozniakty
Copy link
Member

Fun fact, I think gl3n's vec3 is an alias for vec3f. Not that that's an argument against moving to gfm haha

@ColdenCullen
Copy link
Member Author

@Zedoctor That's what I thought too, but turns out gl3n doesn't have a vec3f.

@p0nce
Copy link

p0nce commented Sep 10, 2014

I'm all for quatf, but not for vec3. I know this is the GLSL name, but float is not special.

@ColdenCullen
Copy link
Member Author

I agree with you on the vec3, I think it's just confusing. I'll be glad to not use it anymore.

@p0nce
Copy link

p0nce commented Sep 10, 2014

Renamed quaternionf to quatf/quatd, added a quaternion constructor with 4 Ts.
d-gamedev-team/gfm#86

@ColdenCullen
Copy link
Member Author

Great, thanks for doing that for us!

@p0nce
Copy link

p0nce commented Nov 2, 2014

Hi, the new fromEulerAngles/toEulerAngles have changed to use a better ordering of axis, this could break your code if you already used it.
d-gamedev-team/gfm@f78e236

@ColdenCullen
Copy link
Member Author

Thanks for the heads up. I'm running everything through an abstraction layer at this point, so it should be an easy fix.

@p0nce
Copy link

p0nce commented Dec 18, 2014

Hi again, if upgrading the gfm:sdl2 dependency to 2.0.x, you'll be able to drop some useless code and the dependency to the "colorize" package.

@ColdenCullen
Copy link
Member Author

Does gfm:sdl2 depend on colorize? If so, what does it use it for? Just out of curiosity's sake.

Also, we do actually use colorize, so it don't think it makes sense to drop it.

@p0nce
Copy link

p0nce commented Dec 18, 2014

Yes before 2.0.x gfm:sdl2 depended on gfm:core which contained a Logger implementation which depended on colorize. This was odd and this is not the case anymore. Cool to see you used colorize anyway.

@ColdenCullen
Copy link
Member Author

Ok, so is the Logger that SDL.this() takes here an std.experimental.logger? If so, I'll definitely send ours in.

@p0nce
Copy link

p0nce commented Dec 18, 2014

Yes, it is a std.experimental.logger.

(Unrelated: if upgrading to gfm:sdl2 2.0.x, beware because no SDL subsystem will be initialized anymore by SDL.this(). Eg: https://github.com/d-gamedev-team/gfm/blob/master/examples/simpleshader/simpleshader.d#L27 )

@ColdenCullen
Copy link
Member Author

Ahh, good to know. I'll try to do that upgrade this evening. I think we should just need EVENTS and VIDEO like the example.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants