parent
9014eb92e6
commit
29c44d4207
@ -1,27 +1,43 @@ |
|||||||
package sig; |
package sig; |
||||||
import javax.swing.JPanel; |
import javax.swing.JPanel; |
||||||
import javax.vecmath.Vector3d; |
import javax.vecmath.Vector3f; |
||||||
|
|
||||||
import java.awt.Graphics; |
import java.awt.Graphics; |
||||||
import java.awt.Color; |
import java.awt.Color; |
||||||
|
|
||||||
public class Panel extends JPanel{ |
public class Panel extends JPanel{ |
||||||
|
long startTime = System.nanoTime(); |
||||||
|
long endTime = System.nanoTime(); |
||||||
|
|
||||||
|
public void repaint() { |
||||||
|
super.repaint(); |
||||||
|
startTime = System.nanoTime(); |
||||||
|
} |
||||||
public void paintComponent(Graphics g) { |
public void paintComponent(Graphics g) { |
||||||
Vector3d origin = new Vector3d(0,0,10); |
g.clearRect(0,0,SigRenderer.SCREEN_WIDTH,SigRenderer.SCREEN_HEIGHT); |
||||||
for (int x=0;x<SigRenderer.SCREEN_WIDTH;x++) { |
//Vector3f origin = new Vector3f(Math.cos(SigRenderer.rot)*10,0,10+Math.sin(SigRenderer.rot)*10);
|
||||||
for (int y=0;y<SigRenderer.SCREEN_HEIGHT;y++) { |
/*for (int x=0;x<SigRenderer.SCREEN_WIDTH/RESOLUTION;x++) { |
||||||
Vector3d dir = new Vector3d((-SigRenderer.SCREEN_WIDTH/2d+x),(-SigRenderer.SCREEN_HEIGHT/2d+y),SigRenderer.SCREEN_WIDTH); |
for (int y=0;y<SigRenderer.SCREEN_HEIGHT/RESOLUTION;y++) { |
||||||
|
Vector3f dir = new Vector3f((-SigRenderer.SCREEN_WIDTH/2d+x*RESOLUTION),(-SigRenderer.SCREEN_HEIGHT/2d+y*RESOLUTION),SigRenderer.SCREEN_WIDTH); |
||||||
if (SigRenderer.tri.rayTriangleIntersect(origin, dir)) { |
if (SigRenderer.tri.rayTriangleIntersect(origin, dir)) { |
||||||
g.setColor(Color.BLACK); |
g.setColor(Color.BLACK); |
||||||
g.fillRect(SigRenderer.SCREEN_WIDTH-x,SigRenderer.SCREEN_HEIGHT-y,1,1); |
g.fillRect((int)(SigRenderer.SCREEN_WIDTH-x*RESOLUTION),(int)(SigRenderer.SCREEN_HEIGHT-y*RESOLUTION),(int)RESOLUTION,(int)RESOLUTION); |
||||||
//System.out.println("Intersects at "+origin+"/"+dir);
|
//System.out.println("Intersects at "+origin+"/"+dir);
|
||||||
} |
} else |
||||||
if (SigRenderer.tri2.rayTriangleIntersect(origin, dir)) { |
if (SigRenderer.tri2.rayTriangleIntersect(origin, dir)) { |
||||||
g.setColor(Color.BLUE); |
g.setColor(Color.BLUE); |
||||||
g.fillRect(SigRenderer.SCREEN_WIDTH-x,SigRenderer.SCREEN_HEIGHT-y,1,1); |
g.fillRect((int)(SigRenderer.SCREEN_WIDTH-x*RESOLUTION),(int)(SigRenderer.SCREEN_HEIGHT-y*RESOLUTION),(int)RESOLUTION,(int)RESOLUTION); |
||||||
//System.out.println("Intersects at "+origin+"/"+dir);
|
//System.out.println("Intersects at "+origin+"/"+dir);
|
||||||
} |
} |
||||||
} |
} |
||||||
|
}*/ |
||||||
|
for (Pixel p:SigRenderer.pixels) { |
||||||
|
if (!g.getColor().equals(p.col)) { |
||||||
|
g.setColor(p.col); |
||||||
|
} |
||||||
|
g.fillRect(p.x,p.y,(int)SigRenderer.RESOLUTION,(int)SigRenderer.RESOLUTION); |
||||||
} |
} |
||||||
|
endTime=System.nanoTime(); |
||||||
|
SigRenderer.DRAWLOOPTIME = (endTime-startTime)/1000000f; |
||||||
} |
} |
||||||
} |
} |
||||||
|
@ -0,0 +1,13 @@ |
|||||||
|
package sig; |
||||||
|
|
||||||
|
import java.awt.Color; |
||||||
|
|
||||||
|
public class Pixel { |
||||||
|
int x,y; |
||||||
|
Color col; |
||||||
|
Pixel(int x,int y,Color col) { |
||||||
|
this.x=x; |
||||||
|
this.y=y; |
||||||
|
this.col=col; |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue