nünja.. das is schon wahr. ganz so sicher bin ich mir noch nicht, was ich da eigentl. mache. . .. drum hier mal das konkrete beispiel:
Code: Alles auswählen
def assemblyCone(detail=0, radius=1.0, height=1.0):
vertices = [[0.0, height, 0.0]] # startpunkt (mittelpunkt für TriAngleFan)
corners = (detail+1) * 3
angle = 360.0 / corners
for c in range(corners):
alpha = m.radians(angle * c)
vertices.append([m.sin(alpha)*radius, 0.0, m.cos(alpha)*radius])
return vertices
def renderCone(pointList):
# primo: 'n kegel
glBegin(GL_TRIANGLE_FAN)
for p in pointList:
glVertex3f(p[0], p[1], p[2])
# um den kegel zu schließen, den ersten kreispunkt nochmal
p = pointList[1]
glVertex3f(p[0], p[1], p[2])
glEnd()
das sind noch sehr rudimentere funktionen, nur mal so zum frickeln..
der shader sieht so aus:
Code: Alles auswählen
// Vertex program
// directLight
varying vec4 ambient, diffuse;
varying vec3 normal, lightDir, halfVector;
void main() {
// ganz furchbar..: besagte verlegenheitslösung. gehört garnicht hier her!
gl_Normal = normalize(gl_Vertex);
// first transform the normal into eye space and normalize the result
normal = normalize(gl_NormalMatrix * gl_Normal);
// now normalize the light's direction
lightDir = normalize(vec3(gl_LightSource[0].position));
// Normalize the halfVector to pass it to the fragment shader
halfVector = normalize(gl_LightSource[0].halfVector.xyz);
/* Compute the diffuse, ambient and globalAmbient terms */
diffuse = gl_FrontMaterial.diffuse * gl_LightSource[0].diffuse;
ambient = gl_FrontMaterial.ambient * gl_LightSource[0].ambient;
ambient += gl_LightModel.ambient * gl_FrontMaterial.ambient;
gl_Position = ftransform();
}
also eigentl. will ich ja gar keine vektoren normalisieren. nur ohne diese gruslige zeile is das ding einfach nur flach. ohne licht und schatten. das mag vleicht nen zen-buddhisten erfreuen, ich aber will den dualismus
!!!
wie könnte ich nun rauskriegen, wo die fläche denn so hinzeigt? ich kann mir ja schon vorstellen, wozu das gut ist, nur hängts bei mir irgendwie, wie ichs konktret bewerkstelligen soll..
(worauf hab ich mich da nur eingelassen..?!)
**..aufmerksam aber ohne verständnis folgte er dem unterricht..**