Difference between revisions of "Render Part A Assignment"

From CSE425S Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
=OpenGL=
 
=OpenGL=
 +
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glBegin.xml glBegin]
 +
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glVertex2f.xml glVertex2f]
 +
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glEnd.xml glEnd]
 +
 +
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glColor3f.xml glColor3f]
 +
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glEnable.xml glEnable]
 +
 
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glPushMatrix.xml glPushMatrix]
 
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glPushMatrix.xml glPushMatrix]
 +
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glTranslatef.xml glTranslatef]
 +
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glRotatef.xml glRotatef]
 
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glPopMatrix.xml glPopMatrix]
 
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glPopMatrix.xml glPopMatrix]
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glBegin.xml glBegin]
+
 
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glEnd.xml glEnd]
 
 
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glMap1f.xml glMap1f]
 
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glMap1f.xml glMap1f]
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glEnable.xml glEnable]
+
 
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glVertex2f.xml glVertex2f]
 
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glColor3f.xml glColor3f]
 
 
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glRasterPos2f.xml glRasterPos2f]
 
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glRasterPos2f.xml glRasterPos2f]
 
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glPixelZoom.xml glPixelZoom]
 
: [https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glPixelZoom.xml glPixelZoom]

Revision as of 01:47, 12 July 2019

OpenGL

glBegin
glVertex2f
glEnd
glColor3f
glEnable
glPushMatrix
glTranslatef
glRotatef
glPopMatrix
glMap1f
glRasterPos2f
glPixelZoom
glDrawPixels


GLUT

glutBitmapCharacter

Code to Investigate

ruby/examples/cavalcade_of_graphics.rb

Code to Implement

Components

Each of the renderable components has its own file in the ruby/render/assignment directory.

Equilateral Triangle

Render equilateral triangle.png

Rectangle

Render rectangle.png

Ellipse

Render ellipse.png

Chord

Render chord.png

Image

Render image.png

Text

Render text.png

Bézier Curve

Point2

To support Bézier curves you will want to implement the point2.rb. You may wish to use Ruby's convenient Struct construct.

You should be able to construct a Point2 with an x and a y and be able to access those values.

Component

Quadratic (Second Order) Curve: Bézier 2 big.svg Bézier 2 big.gif
Quadratic (Third Order) Curve: Bézier 3 big.svg Bézier 3 big.gif
Fourth Order Curve: Bézier 4 big.svg Bézier 4 big.gif

Render bezier curve.png

Containers

Home

Render home.png

Heart

Render heart.png