1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

examples: add .obj viewer as a sokol example (#9456)

This commit is contained in:
penguindark
2021-03-25 16:53:13 +01:00
committed by GitHub
parent 257eadd2e1
commit a2ef9967fe
15 changed files with 1724 additions and 86 deletions

View File

@@ -0,0 +1,43 @@
module obj
import os
// read a file as single lines
pub fn read_lines_from_file(file_path string) []string {
mut path := ""
mut rows := []string{}
$if android {
path = "models/"+file_path
bts := os.read_apk_asset(path) or {
eprintln("File [$path] NOT FOUND!")
return rows
}
rows = bts.bytestr().split_into_lines()
} $else {
path = "assets/models/"+file_path
rows = os.read_lines(path) or {
eprintln("File [$path] NOT FOUND!")
return rows
}
}
return rows
}
// read a file as []byte
pub fn read_bytes_from_file(file_path string) []byte {
mut path := ""
mut buffer := []byte{}
$if android {
path = "models/"+file_path
buffer = os.read_apk_asset(path) or {
eprintln("Texure file: [$path] NOT FOUND!")
exit(0)
}
} $else {
path = "assets/models/"+file_path
buffer = os.read_bytes(path) or {
eprintln("Texure file: [$path] NOT FOUND!")
exit(0)
}
}
return buffer
}