Git Product home page Git Product logo

lib3ds's Introduction

Hello there πŸ‘‹

Kent's github stats

  • πŸ‘‹ Hi, I’m Kent Zhang
  • πŸ‘€ I'm super interested in Computer Graphics, including both real-time rendering and offline rendering
  • 🌱 Currently learning Computer Graphics.
  • πŸ“š Reading Physically Based Rendering from Theory to implementation
  • πŸ’» With 6 years' graphics program development working experience and 4 years' general software development working experience
  • πŸ’Ό Currently working at Electronic Arts. 😎
  • πŸ’¬ Welcomed to ask me about Realtime Rendering or Ray Tracing. 😎
  • πŸ“« How to reach me: mailto:[email protected]

Kent's github stats

lib3ds's People

lib3ds's Issues

Assertion caused by a file that seems valid ?

I have exported a model from blender into 3ds max. The blender .3ds import
plugin manages to load the exported .3ds file with no problems, but lib3ds
seems to have problems, as it causes an assertion fail:

3dsplay: ../lib3ds_chunk.c:72: lib3ds_chunk_read_next: Assertion `c->cur ==
c->end' failed.

I'm using the current svn trunk code.

You can find an archive that contains both the .3ds and the .blend file
here:
http://arkana-fts.sourceforge.net/Archive.tar.gz
as The file is too big to be attached.

Original issue reported on code.google.com by [email protected] on 20 Jan 2010 at 8:59

Static linkage on VS

Hello, currently there is no support for static linkage on Visual Studio (I
mean just including the lib3ds source files into your app/game project
file).

Kabey fixed this, here is the (simple) patch. Note that he did not add a
configuration to the visual studio project, but this could be easily done
by you.

Here is the patch for it, hope you enjoy:

--- trunk/3d/lib3ds/lib3ds.h 2008-06-18 17:07:36 UTC (rev 1020)
+++ trunk/3d/lib3ds/lib3ds.h 2008-06-21 17:45:38 UTC (rev 1021)
@@ -25,6 +25,8 @@
#ifdef _MSC_VER
#ifdef LIB3DS_EXPORTS
#define LIB3DSAPI __declspec(dllexport)
+ #elif defined(LIB3DS_STATIC)
+ #define LIB3DSAPI
#else
#define LIB3DSAPI __declspec(dllimport)
#endif
@@ -33,6 +35,7 @@
#endif
#endif

Original issue reported on code.google.com by [email protected] on 20 Jan 2010 at 9:10

I find a bug in 3dsplay.cpp code

I find a bug in demo code "3dsplay.cpp"

in function 
static void render_node(Lib3dsNode *node) 
{
...

#ifdef USE_SDL
                    Player_texture *pt = NULL;
                    int tex_mode = 0;
#endif
                    if (mesh->faces[p].material > 0) {
                        mat = file->materials[mesh->faces[p].material];
                    }

...
}

I think "if (mesh->faces[p].material > 0) " should to "if 
(mesh->faces[p].material >= 0) " 

if use ">", it could not use first material in 3ds file.


Original issue reported on code.google.com by [email protected] on 10 May 2011 at 9:38

lib3ds_file_open returns null


What steps will reproduce the problem?
1.I have installed the lib3ds library
2.I have put a .3ds file in my working directory
3.the relevant code snippet is
      lib3ds* model;
      model= lib3ds_file_open("hand.3ds")

What is the expected output? What do you see instead?
Instead of loading the model the pointer always returns null although the 
function is recognized by the IDE.


What version of the product are you using? On what operating system?
lib3ds 2.0 with codeblocks 10.05 on windows 7 x64

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 21 Feb 2014 at 11:25

3dsplay in 1.3.0 has switched texture coordinates?

In the call to glTexCoord2f in 3dsplay.c, it looks to me like the texture
coordinates are switched. The V coordinate is sent as the U coordinate, and
the other way around. Changing it makes 3DS models with texturing look
good, while the default/current code makes texturing look funny.

Let me know if you need an example model to see it.

Original issue reported on code.google.com by [email protected] on 20 Jan 2010 at 9:04

Fix to missing chunk 0xA08A

I got bored of the constant reports of β€œmissing chunk 0xA08A” when reading 
3ds-files. After a bit of research I discovered that this property is related 
to the advanced transparency settings for the material in 3D studio. In this 
case the falloff parameter. These controls affect the opacity falloff of a 
transparent material. And the property chooses whether falloff is in or out. 

See here for more information about Advanced Transparency:
http://docs.autodesk.com/3DSMAX/15/ENU/3ds-Max-Help/index.html?url=files/GUID-41
9BF292-875F-4D48-AD1B-43EEB40F4A3B.htm,topicNumber=d30e384126


Original issue reported on code.google.com by [email protected] on 7 Feb 2014 at 3:14

Attachments:

3dsplay out of bounds var causes opengl error

In render_node() as is, glGetError() can return GL_INVALID_VALUE. This is
caused by the line

glMaterialf(GL_FRONT, GL_SHININESS, pow(2, 10.0*mat->shininess));

Change that to

glMaterialf(GL_FRONT, GL_SHININESS, min(128.,pow(2,
10.0*mat->shininess)));

to resolve the issue. I've seen mat->shininess be 10.0 in file,
GL_SHININESS should not be passed over 128.

Original issue reported on code.google.com by [email protected] on 20 Jan 2010 at 9:01

COPYING file refers to wrong license

Hi,

I am confused about the license terms of lib3ds.
The COPYING file refers to the GPL.
The google code home page refers to LGPL.
Which of those two is the correct one?

Thx,




Original issue reported on code.google.com by [email protected] on 1 Feb 2010 at 7:42

Problem when compiling

Howdy,

I decided to take a look at 3dlib, but I'm having some problems compiling the 
example code that comes along with the source.

I'm using codeblocks and i'm getting undefined references. I think it mighty be 
a problem of linking.

I tried to add to the search directories (in linker) the /usr/include/lib3d 
folder, but unsuccessful.

Can someone please give me a hint?


Thanks in advance.

Original issue reported on code.google.com by [email protected] on 8 Jun 2010 at 11:39

some notes about 20080909 lib3ds version

Hello,
here some notes about 20080909 lib3ds version:

1.  (main) (result: incorrect vertices positions calculation)
#define LIB3DS_EPSILON (1e-8)
// original define #define LIB3DS_EPSILON  (1e-5)
1e-5 is too large value for the matrix calculation in the float range.
in case of 1e-5  use sometimes  lib3ds_matrix_inv function fails,
because of return in this case:
  if (fabs(determinat)<LIB3DS_EPSILON) {   
      return(0);  /* Matrix is singular (zero determinant) */

(if you need I can send you a 3ds file which gives incorrect result)


2. (minor)
function lib3ds_vector_neg(float c[3]) does not have implementation in the
lib3ds_vector.c file.

3. (minor)
lib3ds_matrix_mult(float m[4][4], float a[4][4], float b[4][4]) {
    float tmp[4][4]; // should be removed
    int i, j, k;
    float ab;

    memcpy(tmp, a, 16 * sizeof(float)); // should be removed and 'a' matrix
should be used
    for (j = 0; j < 4; j++) {
        for (i = 0; i < 4; i++) {
            ab = 0.0f;
            for (k = 0; k < 4; k++) ab += tmp[k][i] * b[j][k];
            m[j][i] = ab;
        }
    }
}

Tomas

Original issue reported on code.google.com by [email protected] on 1 Feb 2010 at 7:52

Output is unpredictable on Dell laptop working on Ubuntu 10.04 with ATI graphics driver activated.

I am making a game in OpenGL in which I am using lib3ds to draw model. When I 
run the game on a laptop which does not have graphics card or if it has, the 
driver has not been activated from System->Administration->Hardware, then the 
game works fine, everything loads pretty well. But when I activate the graphics 
driver, The model does not load properly. The colour which was originally in 
the model does not appear on the screen. Instead, all polygons are colored 
white. 

What is the expected output? What do you see instead?
Expected output is a screen with model loaded properly. Instead I see a 
fluctuating window appearing and also the colors are not appearing properly. 

What version of the product are you using? On what operating system?
2.0.0, on Ubuntu 10.04

Please provide any additional information below.
When I deactivate the graphics driver, the model loads perfectly fine and the 
game runs fine.
The fluctuating output is attached.

Original issue reported on code.google.com by [email protected] on 5 Oct 2010 at 1:11

Attachments:

libm not linked against by default

What steps will reproduce the problem?
1. Run configure script without LDFLAGS=-lm
2. Run make

What is the expected output? What do you see instead?
The library doesn't successfully build unless you pass LDFLAGS=-lm as an 
argument to "./configure". libm isn't linked against by default, so you get 
undefined references to things like pow().

What version of the product are you using? On what operating system?
20080909
Debian GNU/Linux

Original issue reported on code.google.com by [email protected] on 10 Feb 2010 at 6:39

Keep default normal when smooth computation leads to null normal

What steps will reproduce the problem?
1. Download the 3DS file http://www.baument.com/restore/Models/Faucet1.zip
available at http://www.baument.com/restore/archives.html
2. Read it with lib3ds
3. In smooth normals computation part of lib3ds_mesh_calculate_vertex_normals 
function of lib3ds_mesh.c, this should lead to a few incorrect normals (I say 
"should" because I got this result using a pseudo-translation of lib3ds in Java 
3D).

What is the expected output? What do you see instead?
Getting default normals from lib3ds_vector_normalize when length is 0 isn't a 
major issue, but it would be better to keep the default normal in that case 
(i.e. the normal computed before smoothing operation). After line 222 of 
lib3ds_mesh.c, I would suggest to add this test:

    if (lib3ds_vector_length(n) == 0) {
        lib3ds_vector_copy(n, fa[3*i+j].normal);
    }

(with an additional lib3ds_vector_length_squared function, you could spare a 
call to sqrt here)


What version of the product are you using? 
I looked to source code of version 20080909

Original issue reported on code.google.com by [email protected] on 16 Sep 2014 at 9:42

Check for Memory Corruption

http://www.google.com/url?sa=D&q=http://www.coresecurity.com/content/google-sket
chup-vulnerability&usg=AFQjCNGxT3lVdCyz8a7Yx5xv0O-UYHsFAQ

Original issue reported on code.google.com by [email protected] on 9 Mar 2010 at 4:26

Incorrect node tree on big-endian systems

I found a problem on big-endian systems, e.g. Sun
SPARC/Solaris, where the node tree for hierarchical models
is not being built correctly.

The problem is in lib3ds_file.c, kfdata_read.  It passes the
address of a Lib3dsNode user_id to bsearch.  user_id is an
unsigned int.  But the bsearch comparison routine
compare_node_id2 is casting it to the address of an unsigned
short.  This will work on little-endian systems (for
user_id<65535) but doesn't work on a big-endian system.  When
the user_id value is accessed the top two (null) bytes are
being referenced.

The following simple patch fixes the problem.


$ diff -u lib3ds_file.c lib3ds_file.c.patch
--- lib3ds_file.c       Fri Apr 16 19:29:54 2010
+++ lib3ds_file.c.patch Mon Apr 19 15:18:05 2010
@@ -452,7 +452,7 @@

 static int 
 compare_node_id2( const void *a, const void *b ) {
-   return *((unsigned short*)a) - (*((Lib3dsNode**)b))->node_id;
+   return *((unsigned*)a) - (*((Lib3dsNode**)b))->node_id;
 }

Original issue reported on code.google.com by [email protected] on 19 Apr 2010 at 5:09

Static lib lib3ds.a how to make it

I compile lib3ds.sln project without lib3ds.rc and output from tis project is : 
lib3ds-1_3d.dll, lib3ds-1_3d.lib, lib3ds-1_3d.ilk, lib3ds-1_3d.exp, 
lib3ds-1_3d.pdb
But I want lib3ds-1_3d.a how can do it?
Thanks

Original issue reported on code.google.com by [email protected] on 30 Sep 2010 at 1:24

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.