OpenCores
URL https://opencores.org/ocsvn/orsoc_graphics_accelerator/orsoc_graphics_accelerator/trunk

Subversion Repositories orsoc_graphics_accelerator

[/] [orsoc_graphics_accelerator/] [trunk/] [sw/] [examples/] [bare/] [ocgfxmesh.c] - Blame information for rev 5

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 maiden
#include "orgfx_plus.h"
2
#include "orgfx_3d.h"
3
#include "orgfx.h"
4
#include "orgfx_bitmap_font.h"
5
#include "orgfx_vector_font.h"
6
#include <math.h>
7
 
8
#include "cube.obj.h"
9
#include "humanoid_tri.obj.h"
10
#include "Bahamut_cc.png.h"
11
#include "interptest.bmp.h"
12
 
13
#include "franklin_font.h"
14
#include "test_font.h"
15
 
16
//#include "stdio.h"
17
 
18
int main(void)
19
{
20
    int i,j;
21
 
22
    int text[] = {65, 228, 0};
23
 
24
    // Initialize screen, no double buffering
25
    int screen = orgfxplus_init(640, 480, 16, 1, 0);
26
 
27
    int bahamut_sprite = orgfxplus_init_surface(186, 248, Bahamut_cc);
28
    int interp_sprite = orgfxplus_init_surface(10, 10, interptest);
29
 
30
    int franklin_surface = orgfxplus_init_surface(512, 512, franklin_img);
31
    orgfx_tileset franklin_ts = orgfx_make_tileset(franklin_surface, franklin_glyphs, 256);
32
    orgfx_bitmap_font franklin_font = orgfx_make_bitmap_font(&franklin_ts, 5, 16);
33
 
34
    //  orgfx_mesh mesh = orgfx3d_make_mesh(cube_faces, cube_nfaces, cube_verts, cube_nverts);
35
    // orgfx_mesh mesh = orgfx3d_make_mesh(humanoid_tri_faces, humanoid_tri_nfaces, humanoid_tri_verts, humanoid_tri_nverts);
36
 
37
    float rad = 0;
38
    int t = 0;
39
 
40
    orgfxplus_colorkey(0xf81f, 1);
41
 
42
    orgfx_point3 offset = {350, 300, 0};
43
    orgfx_point3 scale = {10.0, 10.0, 10.0};
44
 
45
    //  orgfxplus_clip(50,50,100,100, 0);
46
    //  orgfx_enable_cliprect(1);
47
 
48
 
49
    // vector fonts
50
    orgfx_vector_font font = init_test_font();
51
 
52
    while(1)
53
    {
54
        /*
55
        orgfx_point3 rot = {2*rad,rad,3*rad};
56
 
57
        mesh.scale = scale;
58
        mesh.translation = offset;
59
        mesh.rotation = rot;
60
*/
61
        // Clear screen
62
        orgfxplus_fill(0,0,640*FIXEDW,480*FIXEDW,0xffff);
63
 
64
        for(i = 0; i < 5000000; ++i);
65
/*
66
        orgfx3d_draw_mesh(&mesh, 1, 1);
67
 
68
        orgfxplus_fill(0,0,100*FIXEDW,100*FIXEDW,0x0000);
69
 
70
        orgfx_enable_tex0(1);
71
        orgfxplus_bind_tex0(bahamut_sprite);
72
        orgfx_uv(0,0,180,0,90,100);
73
        orgfx_triangle(0,0,100*FIXEDW,0,50*FIXEDW,100*FIXEDW, 1);
74
        orgfx_enable_tex0(0);
75
 
76
        orgfx_set_colors(0xf800, 0x07c0, 0x003f);
77
        orgfx_triangle(0,100*FIXEDW,100*FIXEDW,100*FIXEDW,50*FIXEDW,200*FIXEDW, 1);
78
        //              orgfx_enable_tex0(0);
79
        orgfx_triangle(100*FIXEDW,0,200*FIXEDW,0,150*FIXEDW,100*FIXEDW, 0);
80
 
81
        orgfx_curve(200*FIXEDW,0,300*FIXEDW,0,250*FIXEDW,100*FIXEDW,
82
                     0, 1);
83
 
84
        orgfx_curve(300*FIXEDW,0,400*FIXEDW,0,350*FIXEDW,100*FIXEDW,
85
                     0, 0);
86
 
87
        orgfxplus_alpha(0x80, 1);
88
        orgfxplus_draw_surface(100*FIXEDW, 100*FIXEDW, bahamut_sprite);
89
        orgfxplus_alpha(0xff, 0);
90
        //              orgfx_enable_tex0(0);
91
 
92
        orgfx_put_text(&font, 10*FIXEDW, 200*FIXEDW, "some EXAMPLE text");
93
*/
94
 
95
        orgfx_put_bitmap_text(&franklin_font, 10*FIXEDW, 200*FIXEDW, L"some ÅXÖMBLÄ text");
96
 
97
        orgfx_vf_write(&font , L"some ÅXÖMBLÄ text", 10, 250, 0x0000);
98
        // draw interp-test
99
        orgfx_enable_tex0(1);
100
        orgfxplus_bind_tex0(interp_sprite);
101
        orgfx_uv(0,0,10,0,0,10);
102
        orgfx_triangle(0,0,200*FIXEDW,0,0*FIXEDW,200*FIXEDW, 1);
103
        orgfx_uv(10,0,10,10,0,10);
104
        orgfx_triangle(200*FIXEDW,0*FIXEDW,200*FIXEDW,200*FIXEDW,0*FIXEDW,200*FIXEDW, 1);
105
        orgfx_enable_tex0(0);
106
 
107
        orgfx_set_color(0xf800);
108
        //orgfx_line(0,0,200*FIXEDW,200*FIXEDW);
109
 
110
        t += 5;
111
        rad += 0.01;
112
        if(rad >= M_PI*2) rad -= M_PI*2;
113
 
114
        // Swap buffers
115
        orgfxplus_flip();
116
    }
117
}
118
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.