OpenGL – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

OpenGL – .NET – Fórum – Programujte.comOpenGL – .NET – Fórum – Programujte.com

 

Miro17010
Stálý člen
27. 4. 2009   #1
-
0
-

trochu viac nechapem tym velkostiam v OpenGL,

moj kod je tu:

		Gl.glClear(Gl.GL_COLOR_BUFFER_BIT);

Gl.glLoadIdentity();
Glu.gluLookAt(0, 0.0, 3.0, 0, 0, 0.0, 0, 1.0, 0);

Gl.glPushMatrix();

// translate the triangle
Gl.glTranslated(0,0,0);

// rotate the triangle
Gl.glRotated(0, 0, 0, 1.0);

// bind the texture we want to apply
Gl.glBindTexture(Gl.GL_TEXTURE_2D, img.texture);

// draw a quad with UV texture coords
Gl.glBegin(Gl.GL_QUADS);
Gl.glTexCoord2f(0.0f, 1.0f);
Gl.glVertex2f( 0, 0);
Gl.glTexCoord2f(1.0f, 1.0f);
Gl.glVertex2f( 1, 0);
Gl.glTexCoord2f(1.0f, 0.0f);
Gl.glVertex2f( 1, 1);
Gl.glTexCoord2f(0.0f, 0.0f);
Gl.glVertex2f( 0, 1);
Gl.glEnd();

Gl.glPopMatrix();

// Swap buffers
Glfw.glfwSwapBuffers();


pricom ten img ma int width, height a chcel by som ho vykreslit na poziciu napr. x = 55, y = 98, tuto cast kodu mam z nejakeho tutorialu ale skoro vobec som mu nepochopil, okno ma velkost 1024/768

Nahlásit jako SPAM
IP: 85.248.47.–
začinajúci programátor v .Net: C# & OpenTK: OpenGL( pouzivam ), OpenAL( zatial nepouzivam ), OpenCL( este som neskusal )
Miro17010
Stálý člen
28. 4. 2009   #2
-
0
-

Už som to urobil ak by niekto chcel vedieť tak tu to má:



static public void Draw_Img(int x, int y, Image image)
{
Console.WriteLine(x+" "+y+" "+image.height+" "+image.width);

y = winheight - y; // kôli tomu ze to pocita zdola

Console.WriteLine(y);

Gl.glPushMatrix();

// translate the triangle
Gl.glTranslated(0,0,0);

// rotate the triangle
Gl.glRotated(0, 0, 0, 1.0);

// bind the texture we want to apply
Gl.glBindTexture(Gl.GL_TEXTURE_2D, image.texture);

// draw a quad with UV texture coords
Gl.glBegin(Gl.GL_QUADS);
Gl.glTexCoord2f(0, 0);
Gl.glVertex2i( x, y);
Gl.glTexCoord2f(1f, 0);
Gl.glVertex2i( x + image.width, y);
Gl.glTexCoord2f(1f, 1f);
Gl.glVertex2i( x + image.width, y - image.height);
Gl.glTexCoord2f(0, 1f);
Gl.glVertex2i( x, y - image.height);
Gl.glEnd();

Gl.glPopMatrix();
}

static private void Reshape()
{
int width, height;

// grab the window size
Glfw.glfwGetWindowSize(out width, out height);
if(height == 0 ) height = 1;

// set perspective projection
Gl.glMatrixMode(Gl.GL_PROJECTION);
Gl.glLoadIdentity();
}

static public void DrawScreen(ILayout[] layout)
{
Reshape();

// Clear color buffer
Gl.glClear(Gl.GL_COLOR_BUFFER_BIT);
Gl.glOrtho(0,winwidth,0,winheight,-1,1);


// nakreslenie kazdeho layoutu
for(int i = 0; i < layout.Length; i++)
{
if(layout[i].Active())
{
layout[i].Draw();
}
}

// Swap buffers
Glfw.glfwSwapBuffers();
}


A tu pre info:


public class Image
{
public uint texture;

public int width;
public int height;
public int bitspp;

public Image(string path)
{
LoadImage(path);
}

public void LoadImage(string path)
{
... xD


P.S.: Ďakujem za pomoc :D

Nahlásit jako SPAM
IP: 85.248.47.–
začinajúci programátor v .Net: C# & OpenTK: OpenGL( pouzivam ), OpenAL( zatial nepouzivam ), OpenCL( este som neskusal )
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 48 hostů

Podobná vlákna

C++, OpenGL, SDL /// C++, OpenGL — založil Kolemjdouci

VC a OpenGL — založil Alan

OpenGL 1.4 — založil koudis;

OpenGL — založil Wizard

OpenGL? — založil Lordest

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý