Everything posted by JakeAU
-
World To Screen
Any one know how to turn these camera rotations into yaw and pitch? ^
-
World To Screen
Hey thanks for that link vec3_t position = vec3_t(0, 70, 0) - camera_position; position.x *= sin(local_cammera_view.y); position.y *= sin(local_cammera_view.x); position.z *= cos(local_cammera_view.y) * cos(local_cammera_view.x); GLdouble sx = position.x / position.z * game_fov; GLdouble sy = position.y / position.z * game_fov; That resulted in this event: https://i.gyazo.com/054252485aba112c846cace23c364410.mp4 In the the above code it wouldn't matter if x or z is used If I was meant to transform position before using gluproject if (gluProject(position.x, position.y, position.z, model_view, projection, viewport, &sx, &sy, &sz)) This is the result after setting sx and sy to be zero. https://i.gyazo.com/11e06756af447235f6844a108c612d5f.mp4 That was achieved using the local players location / rotation rather the game camera. (I used the camera position and still same result, I suppose it is to do with being able to work out what the below means.) Any help would be greatly appreciated As I simply don't understand this. rotationXZ The combined X and Z components of the entity's pitch rotation rotationX The X component of the entity's yaw rotation rotationXY The Y component (scaled along the X axis) of the entity's pitch rotation rotationYZ The Y component (scaled along the Z axis) of the entity's pitch rotation rotationZ The Z component of the entity's yaw rotation
-
World To Screen
Firstly thanks for your advice but I think your suggestion has gone completely over my head glm::mat < 4, 4, float> matrix; for (int i = 0; i < 4; i++) { for (int a = 0; a < 4; a++) { matrix[i][a] = model_view[i * 4 + a]; } } glm::vec<3, float> position(0, 70, 0); matrix = glm::rotate(matrix, local_cammera_view.x, position); matrix = glm::rotate(matrix, local_cammera_view.y, position); matrix = glm::rotate(matrix, local_cammera_view.z, position); matrix = glm::translate(matrix, camera_position); for (int i = 0; i < 4; i++) { for (int a = 0; a < 4; a++) { model_view[i * 4 + a] = matrix[i][a]; } } Is this what you were suggesting because honestly, I don't understand why this would work our how to make it work. Thanks for the advice aswell, you are right of course.
-
World To Screen
I have access to pretty much everything in c++ that you can access in java it is also a lot faster for when I add tensorflow for some AI stuff. You can access the java vm through the natural interface. Also c++ is ❤️ and java ;( imo
-
World To Screen
I'm making player info boxes for laby mod so you can leave notes about different players so you can pretend you remember people. I didn't have enough room on my laptop for eclipse so I used c++. I am coming to regret it. It is just super weird and I don't understand.
-
World To Screen
GLdouble model_view[16]; GLdouble projection[16]; GLint viewport[16]; auto modview = java_environment->GetStaticObjectField(c_offsets::get().active_render_class, c_offsets::get().model_view_field); auto proj = java_environment->GetStaticObjectField(c_offsets::get().active_render_class, c_offsets::get().projection_field); auto views = java_environment->GetStaticObjectField(c_offsets::get().active_render_class, c_offsets::get().viewport_field); auto* ptr = java_environment->GetDirectBufferAddress(modview); float* mid = new float[16]; mid = (float*)ptr; for (int i = 0; i < 16; i++) { model_view[i] = mid[i]; } ... GLdouble sx1, sy1, sz1; if (gluProject(0, 70, 0, model_view, projection, viewport, &sx1, &sy1, &sz1) { temp_ent.back().b1 = vec2_t(sx1, sy1); temp_ent.back().b2 = vec2_t(sx1 + 10, sy1 + 10); } Besides the bad code practices, this is just the most recent attempt for me to get it to work. I don't understand how to get the 2d coordinates from 3d coordinates. Video of result https://i.gyazo.com/8a95d2eea6c8a53b8c49f85eaf67f46e.mp4 It seems that coordinate is relative to the position of the local player. If I set the position to 100,0,100 it appears in the 1,0,1 direction and same with -100,0,-100. Any advice would be appreciated thank you very much.
IPS spam blocked by CleanTalk.