Teksturowanie walca Opengl C

0

Witam , jestem na etapie teksturowania w opengl'u . Teksturowanie wielokątów nie sprawia mi problemu ale nie mam pojęcia jak położyć teksturę na walcu w szczególności na jego podstawach.

Próby teksturowania podstawy robią na niej słoje i zmieniają kolor całego walca . Czyżby to dlatego,że nie zaczynam tekstury od środka ???

screenshot-20170123230459.png

Mój walec:

void walec(double r, double h)
{

	double angle, x, y;

	glBegin(GL_TRIANGLE_FAN);
	
	glNormal3d(0.0, 0.0, -1.0);
	glVertex3d(0.0f, 0.0f, 0.0f);
	for (angle = 0.0f; angle <= 2.0f*(GL_PI); angle += (GL_PI / 20.0f))
	{
		x = r*sin(angle);
		y = r*cos(angle);
		glVertex3d(x, y, 0.0);
	}
	glEnd();

	glBegin(GL_TRIANGLE_FAN);
	glNormal3d(0.0, 0.0, 1.0);
	glVertex3d(0.0f, 0.0f, h);
	for (angle = 2.0f*(GL_PI); angle >= -0.3f*(GL_PI); angle -= (GL_PI / 20.0f))
	{
		x = r*sin(angle);
		y = r*cos(angle);
		glVertex3d(x, y, h);
	}
	glEnd();

	glBegin(GL_QUAD_STRIP);
	for (angle = 0.0f; angle >= -(2.0f*GL_PI); angle -= (GL_PI / 20.0f))
	{
		x = r*sin(angle);
		y = r*cos(angle);
		glNormal3d(sin(angle), cos(angle), 0.0);
		glVertex3d(x, y, h);
		glVertex3d(x, y, 0);
	}
	glEnd();

} ```C











0

Nie widzę nigdzie wywołania funkcji glTexCoord2d... Jak teksturowałeś wielokąty bez tego?

Gdzie jeszcze nauczają starego OpenGL'a :) ?

0

Niestety w Rzeszowie . Udało mi się to zrobić . Teraz muszę ogarnąć efekt cząstek

screenshot-20170124000532.png

glBindTexture(GL_TEXTURE_2D, texture[6]);
	glEnable(GL_TEXTURE_2D); 
	

	glBegin(GL_TRIANGLE_FAN);
	glColor3d(1, 1, 1);
	glTexCoord2d(0.5, 0.5);
	glNormal3d(0.0, 0.0, -1.0);
	glVertex3d(0.0f, 0.0f, 0.0f);
	for (angle = 0.0f; angle <= 2.0f*(GL_PI); angle += (GL_PI / 20.0f))
	{
		x = r*sin(angle);
		y = r*cos(angle);
		
		glTexCoord2f(0.5f * cos(angle) + 0.5f, 0.5f * sin(angle) + 0.5f);
		glVertex3d(x, y, 0.0);
	}
	glEnd();
	glDisable(GL_TEXTURE_2D); 

1 użytkowników online, w tym zalogowanych: 0, gości: 1