Comments (8)
I don't think this is an issue with the game engine code, could you please post the object file? This could be an issue with the normals used by the model.
from 3denginecpp.
The first time I imported the object, it looked really jacked up. So I went into blender again and let the normals recalculate. But here have a look.
(I got the model from Blend Swap)
http://n.ethz.ch/student/lukal/Other/Download/human.zip
PS: There are still some sharp angles exp: eyecracks and earholes, which are still "black".
from 3denginecpp.
Thanks for the mesh! It really helped track down the issue. Try now, everything should work fine.
from 3denginecpp.
Yup its fixed. Thank you!
It's a bummer you didn't add the Z-movement like described in OP. But well.
Oh and thank you for the response on Youtube. I figured it out now how to rotate things.. But I still don't understand why you decided to go with a 4 value input(which is hard to control) and not with a simple vector3f input where every value stands for a rotation degree in that axis... Butt I am sure you had your reasoning which I would never understand xD
Some other inputs I would like to give:
I can't wait for the OpenGL GUI tutorial, but I actually meant something much simpler and dirtier like a quick c++ windows form with 3 buttons to access the position of objects (It is really hard trying to set up a scene.. adjust by 0.6, build exe, adjust 0.3, build exe, adjust by 0.42...)
Another thing is that for some reason the objectmesh has holes. Mostly where there are sharp edges like on the edge of the eye and at the ears.. I thought it was because of the normals but recalculating them doesn't seem to fix it...
Another small thing. I think the normalmap reader is inverted. I generated a normalmap with the NVIDIAplugin and here is how it looked. The normal.png was what it generated by default and norma_inv.png is with all the values inverted.
Here a link for the human.obj with all the textures:
http://n.ethz.ch/student/lukal/Other/Download/human.zip
And one last thing. I found this incredible site. Its about optics.
http://www.cs.ubc.ca/labs/imager/tr/2012/PolynomialOptics/
There is a source code provided, but I can't figure out how to make it work. I am just hinting that this as depth of field in your engine.... I would die!
(But if someone has any clue how I could turn this into a simple image "editor", (Basically input image-path, run algorithm, export image with beautiful bokeh) please tell me!)
Sorry for such long posts :S
from 3denginecpp.
I actually didn't see that part about the Z rotation. If you like, it's easy enough to add yourself. I might add it at some point as well, who knows?
A Vector3f with Euler angles is only simpler when you're working with one of the 3 global axes. As soon as you start trying to rotate around more than 1 axis, it becomes very difficult and awkward to get the orientation you want, because rotating around 1 axis affects how you rotate around all the other axes. In fact, this actually makes it completely impossible to rotate into certain orientations. I made a blog post about this, which you can read here if you're interested: http://thebennybox.blogspot.com/2014/03/the-perils-of-euler-angles.html
I won't be using a "quick and dirty windows GUI" because that only works on windows. The engine is cross platform, so there's no point in making a system that only works on one platform when you can make a system on all platforms. (Is there even such a thing as a quick and dirty windows GUI? I mean my word, have you seen how complex the windows windowing API is? But I digress...)
The reason the mesh has holes in it is because the mesh actually has holes in it. If you open it up in a 3D modeling program like Blender or 3DS Max, you can zoom in and see those holes are really there. The reason the engine seems to see through it is because our engine doesn't render back faces, so the interior of the mesh is transparent. There's a good chance that wherever you're seeing a hole, you're actually seeing a polygon that's facing away from the camera.
I'm planning to cover depth of field at some point, don't worry. I don't know for sure if I'll use their algorithms or not, but I'm going to do it in some form or another.
With that said, I'd appreciate it if you keep the issues section focused on issues with the engine. If you want to talk to me about something else, I'm more than happy to discuss it with you either on youtube (comments or inbox) or in email ([email protected]).
So with that, I believe this particular issue is resolved. If no one has any objections, shall we close this?
from 3denginecpp.
Everything works fine and dandy. Thank you!
from 3denginecpp.
@Haeri regarding the "inverted" normal maps #5 and here is the video at the exact position benny talked about it. http://youtu.be/dF5rOveGOJc?t=24m20s
from 3denginecpp.
@pythoneer Thank you. Should have searched it first.
from 3denginecpp.
Related Issues (20)
- Runtime failure HOT 5
- Deferred Rendering HOT 3
- Variance Shadow Mapping texture problem HOT 2
- Too high window sync time HOT 8
- Mesh load failed! HOT 2
- VSM issue
- Support for Multi-Mesh OBJ files HOT 1
- Plane IntersectSphere
- Can someone tell me what to do for a "unistd.h" not found? Issue on a windows machine. HOT 4
- Calculating shadow map coordinates from model space or world space position.
- Framebuffer with stencil HOT 1
- Matrix Inverse implementation HOT 4
- Smooth shading / vertex normals HOT 5
- animation
- Linux build [Ubuntu/Arch] Segfault HOT 3
- Plane normalization
- Light shaders render stuff after zFar plane
- free(): invalid pointer: HOT 3
- Change 3DEngineCpp to 3DEngineC
- Fix to free(): invalid pointer: #45
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from 3denginecpp.