- Viewing Profile: Reputation: dpadam450
Community Stats
- Group Members
- Active Posts 2,800
- Profile Views 5,877
- Member Title Member
- Age 26 years old
- Birthday September 29, 1986
-
Gender
Not Telling
#4963338 Cell Shading techniques to consider.
Posted by dpadam450
on 26 July 2012 - 09:55 AM
For outlines it depends how specific you want to outline. There is a case where say a camera is in front of you and you have your hand over your chest. You either want just the silhouette of the entire body, you want to draw outlines around the hand. (The hand is inside the silhoutte of the chest/body).
For just silhouette, draw your model 2x, once with GL_LINES and changing the GL_LINE_WIDTH bigger depending on your outline thickness.
For the second case of all outlines, just take the normal relative to the eye/screen. As it approaches 0, that means the normal is starting to point away from you.
if( dot(normal, vec3(0,0,1) < VALUE)
{
gl_FragColor = black;
}
Where value would be between 0 and maybe .3 depeding on how thick you want it to be.
#4961951 Lighting and glMultMatrixf problem
Posted by dpadam450
on 22 July 2012 - 10:39 AM
If you rotate your model (and its normals) then you are rotating the light normal as well. Only call glLightfv() after you have applied the camera matrix only.
Identity()
cameramatrix()
glLight()
Identity()
ObjectMatrix()
Draw()
#4961868 Want to rewrite the pixel buffer
Posted by dpadam450
on 21 July 2012 - 11:19 PM
Are you just fading to red? Draw a red quad and change the alpha. You can always use a texture with varying red/blood instead of just using pure red.
You have to call glRasterPos and glLoadIdentity to DrawPixels
#4961351 Fill distance with quads
Posted by dpadam450
on 20 July 2012 - 10:02 AM
Create a 2D vector between start and end brush.
Find the length in pixels of that line using pythagorean theorem.
float timeStep = 1.0/length in pixels
float time = 0;
for(int i = 0; i < length in pixels; i++)
{
Vec2 fillPos = start + time*brushvector;
time += timeStep;
}
When time = 1, the fill pos is the endpoint
When time = .5, the fill pos is halfway to the endpoint
#4960952 Fill distance with quads
Posted by dpadam450
on 19 July 2012 - 08:46 AM
Based on your drawing you are trying to fill the points between the last brush position and the current. So you know where the user is drawing.I cant't know where user will be drawing
The only way to fix this is to draw a brush for each pixel in between the circles. If you use a distance bigger than that you won't get a brush stroke, you will get more of a caterpillar looking brush, like the medium drawing you posted.
#4960613 Easy OpenGL Directional Lighting Question
Posted by dpadam450
on 18 July 2012 - 01:22 PM
So you have shadows but not lighting? Post a pic.The Shadow Mapping part works great at the bottom, but the top part seems to be screwing up somehow.
You mentioned you have a 0 for the w coordinate but you are subtracting light position from world position as if it is a point light.
#4960588 Easy OpenGL Directional Lighting Question
Posted by dpadam450
on 18 July 2012 - 12:27 PM
When learning shadow mapping, try projecting an image texture instead of a depth buffer, this way you can get the math part down and then just replace the image with a depth buffer, because sometimes you will user a depth buffer that is not what you thought it was.
I would post your shader or the shadow portion of it.
#4960491 Fill distance with quads
Posted by dpadam450
on 18 July 2012 - 08:47 AM
Uh.....call your draw function for the space in between each brush...So I calculate distance between previous point and current point, and if its bigger than something I need to add more quads to that distance automatically.
You know how to draw quads. You know how to draw multiple quads. It sounds like you can draw a few more....
#4960319 Easy OpenGL Directional Lighting Question
Posted by dpadam450
on 17 July 2012 - 09:53 PM
yesWouldn't to the west and up (as per my prior description) be (-1,0,1)
A light with w = 0, means it is directional and not effected by translation basically 0*translation is what the math comes out to be. If you want a positional light such as a lamp post then yea something like that.Assuming that for whatever reason I had translated to some arbitrary point, making it the center (say, [x, y, z]), the resulting light would require the light direction to be (x -(-1), y, z - 1) => (x + 1, y, z -1), correct?
I'm pretty sure the lights position is normalized if you use GL without shaders. The vector 1,0,1 is bigger than 1,0,0. If you don't know the Pythagorean theorem then thats what it is for.
#4959862 Easy OpenGL Directional Lighting Question
Posted by dpadam450
on 16 July 2012 - 10:23 PM
Unless you have a modified coordinate system, openGL y-axis is up.
#4958822 Detect camera inside wall
Posted by dpadam450
on 13 July 2012 - 09:45 AM
#4958052 Seriously don't understand WHY my framebuffer isn't rendering as a te...
Posted by dpadam450
on 11 July 2012 - 09:06 AM
glFramebufferTexture vs glFramebufferTexture2D is what I use.
#4955103 Help please- Blender to Maya
Posted by dpadam450
on 02 July 2012 - 05:24 PM
#4954716 Help! My directional light gets rotated along with my meshes :(
Posted by dpadam450
on 01 July 2012 - 06:39 PM
float diffuse = max(dot(a_Normal, nSunVector), 0.0);
You have to keep both vectors in the same space. Right now your sun vector is in the world, A_Normal is static/in object space. As the model rotates, you need to take a_normal and multiply it by the model matrix. This keeps it in world space. If you put the view matrix in there as well then the normal is in view space relative to the viewer.
So multiply a_Normal by the model matrix and you are fine, or
multiply a_Normal by the modelviewmatrix and the sun by the view matrix to get them both into view space.
#4953678 Multitexturing and glBindTexture
Posted by dpadam450
on 28 June 2012 - 09:20 AM
The textures always stay bound.
"Can I use them again by activating the texture and not re-binding the texture?"
Yes the textures always stay bound.
- Home
- » Viewing Profile: Reputation: dpadam450


Find content