• Viernes 29 de Marzo de 2024, 14:32

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - sergio__

Páginas: [1]
1
Programación de Videojuegos / OpenGl - Mapeo Texturas
« en: Viernes 8 de Julio de 2011, 05:55 »
Buenas gente, tengo una duda, como puedo mapear en openGL una textura a un circulo por ejemplo

la maya del circulo esta hecha en base a triángulos de la siguiente forma

Toma un punto del borde, el centro del circulo, y un punto del borde desplazado un angulo tita y forma ese triangulo, y  se va moviendo con un delta tita hasta completar la vuelta, de manera que la maya quedaría formada por triángulos donde dos vértices son del borde del circulo, y un vértice es del centro del circulo.

mi problema es para mapear la textura si tengo alguna forma de hacerlo tmb a partir del angulo y no moviéndome en coord cartesianas
(pregunto porq tengo que mapear una textura en una forma cualquiera pero que se construye asi, entonces moverme a partir del centro de la textura e incrementar con un angulo vendría bien

bueno espero se haya entendido, iba a subir la foto de la maya pero no puedo publicar links T_T

2
ASM (Ensamblador) / Re: Salto condicional en MIPS
« en: Viernes 8 de Julio de 2011, 01:54 »
mmm... hace mucho no toco esto, CREO que el salto es relativo al PC, es decir, si vos le das en el "jump_address" el valor 3, te va a saltar 3 instrucciones hacia adelante, (no me acuerdo si considera la instruccion del PC como la instruccion 1, o 0 (esto fijate) ), y para saltar hacia atras seria simplemente poner el -3, me parece que si, que trabaja en complemento a 2 en MIPS

si tenes una forma de obtener la direccion del salto, podes probarlo poniendo un salto a la instruccion anterior y fijandote el "jump_add"

3
Pascal / Re: problema aprendizaje
« en: Viernes 8 de Julio de 2011, 01:39 »
te falta un ";" en la linea 23, ojo con eso que a veces es molesto cuando empezas y te tilda mas de un horajaja

un consejo, si la variable representa la suma, ponele de nombre "suma", sino suponete que tenes un codigo mas largo, tenes que ir a la seccion VAR donde pusiste el comentario para saber que "n" representa la suma

4
C/C++ / Re: Cómo doble Buffer?,aquí tengo mi codigo para cargar un BMP
« en: Martes 28 de Junio de 2011, 19:13 »
HnoTpuedoTpegarPlink://es.kioskea.net/c ... t-bmp.php3

Leete eso, ahi te ayuda bastante porq tenes bien como es el formato del bmp, al principio esta toda la metadata, es mas facil levantar los structs, y despues pedir en el buffer memoria necesaria para la imagen en si

no te conviene leer del archivo de a 1 byte porq te lo hace muy ineficiente, el acceso a disco es lo que mas tarda

en el codigo que pusiste donde usas el farmalloc ,el farmalloc no lo use nunca yo, pero asumo que no debe ser muy distinto del malloc, no te esta andando porq vos definis un arreglo de 64000 bytes, pero tu arreglo es del tipo entero, cada entero son 4 bytes, es decir, cuando incrementas el indice en el arreglo avanzas de a 4 bytes, no de a uno, entonces llegas a pisar memoria no permitida

tendrias que hacer asi

int * arreglo =(int*) malloc(sizeof(int)*64000);  --> con esto allocas espacio para 64000 enteros, que es 64000*4 bytes
sino
char* arreglo= (char*)malloc(sizeof(char)*64000); --> con esto allocas espacio para 64000 chars, que como cada char pesa 1 byte son 64000bytes


creo que ese es tu error, no lo puedo probar aca porq no tengo un compilador de C en esta pc

5
Dudas informáticas / Duda Lisp
« en: Martes 21 de Junio de 2011, 15:21 »
Buenas gente, busque algún tema que hable específicamente de Lisp o programación funcional y no encontré, asiq posteo acá, no se si es el lugar correcto, pido disculpas de antemano.

Necesitaría saber si alguno puede darme alguna documentación acerca de TLC-Lisp, puesto que tengo que hacer un interprete de TLC-Lisp en Lisp, pero no encuentro la documentación de TLC-Lisp en internet

gracias :D

6
C/C++ / Re: DIJKSTRA c++D:
« en: Martes 21 de Junio de 2011, 15:16 »
te conviene implementarlo vos, no buscar una implementacion en internet, puesto que no te serviría de nada a vos, leete el algoritmo de algún libro de matemática discreta y aprendelo a usar, no es complicado de implementar el dijkstra

7
C/C++ / Liberar Memoria
« en: Martes 21 de Junio de 2011, 02:39 »
Buenas gente, tengo un problemita, mi programa esta perdiendo memoria, sospecho que no estoy liberando bien donde tengo que hacerlo la situacion es la siguiente:


Tengo un arbol binario, donde en cada nodo del arbol tengo una lista enlazada y algun que otro dato estatico

este algoritmo libera la lista del nodo del arbol?? o libera una lista en una copia del nodo que esta en el stack ?
Código: C
  1.  
  2.  
  3.  
  4. void liberarListasArbol(TAB* arbol){
  5.  
  6.     //Recorrido pre-order del arbol
  7.     elArbol e;
  8.     int error1=10,error2=10,error3=10;
  9.  
  10.  
  11.  
  12.     AB_ElemCte(*arbol,&e);
  13.     lsVaciar(e.lista);
  14.     e.lista=NULL;
  15.     AB_ModifCte(arbol,&e);
  16.     AB_MoverCte(arbol,IZQ,&error1);
  17.     if (error1==TRUE){
  18.         liberarListasArbol(arbol);
  19.         AB_MoverCte(arbol,PAD,&error3);
  20.     }
  21.     AB_MoverCte(arbol,DER,&error2);
  22.     if (error2==TRUE){
  23.         liberarListasArbol(arbol);
  24.         AB_MoverCte(arbol,PAD,&error3);
  25.     }
  26.  
  27.  
  28. }
  29.  
  30. void liberarArbol(TAB* arbol){
  31.  
  32.     int error=10;
  33.     AB_MoverCte(arbol,RAIZ,&error);
  34.     liberarListasArbol(arbol);
  35.     AB_Vaciar(arbol);
  36.  
  37. }
  38.  
  39.  

las funciones lsVaciar(tListaSimple *l) y AB_Vaciar(TAB* arbol) liberan la lista y el arbol pues son del libro y ya estan testeados, el problema es si libero bien las listas de los nodos del arbol


gracias ^^!

8
C/C++ / Re: Escribir NULL en archivo
« en: Viernes 17 de Junio de 2011, 18:44 »
barbaro!, estaba buscando otra funcion de las librerias standart que escribiera bloque de datos y no las cadenas y no sabia cual usar
encima leo con fread del archivo, jaja, nunca se me ocurrio usar fwrite para escribir ^^

sisis, la memoria no la libere porq era un ejemplo nomas lo que hacia ahi, si me habre peleado con la mem dinamica cuando empeze a usar C jajaj

gracias por la data y por la onda!

9
C/C++ / Re: Como hacer una variable que pueda actuar como distintos tipo
« en: Viernes 17 de Junio de 2011, 18:07 »
no se si te sirve pero tenes el patron "state" para hacer que un objeto cambie su comportamiento en tiempo de ejcucion

10
C/C++ / Re: abrir un .exe con c++ sin dar su ubicacion
« en: Viernes 17 de Junio de 2011, 14:49 »
no se si te sirve de algo pero si vos pones por ejemplo en C


fd=fopen("../archivo.txt","rb") esto intentaria abrir un archivo que esta una carpeta anterior a la que esta el ejecutable de tu programa
fd=fopen("../../archivo.txt","rb") esto intentaria abrir un archivo que esta dos carpeta anterior a la que esta el ejecutable de tu programa


el problema que si no sabes la ubicacion no sabes hasta donde ir, podrias ir volviendo para atras y revisando carpeta por carpeta del disco hasta encontrar el archivo, pero no se si esta bien hacerlo asi xD

11
C/C++ / Re: Libreria grafica compatible con windows?
« en: Viernes 17 de Junio de 2011, 14:33 »
si usas openGl te conviene ya que estas ponerte la libreria "freeglut" que facilita el manejo de ventanas cuando laburas con openGl

creo que sino tenes quilombo con el sistema de ventanas de windows o algo asi (no me acuerdo ahora porq la use hace mucho jaja )

12
C/C++ / Escribir NULL en archivo
« en: Viernes 17 de Junio de 2011, 14:29 »
Buenas, este es mi primer post, estuve mirando a ver si encontraba algo acerca de esto pero no encontre nada (quizas no mire lo suficiente :P jaj )

bueno la cosa es que necesito escribir el caracter NULL en un archivo, en realidad necesito escribir los bits 0x00.

por ejemplo:

#include<stdio.h>
#include<stdlib.h>


int main(int argc, char** argv){

   char* a=(char*)malloc(sizeof(char)*2);
   //a="ab";
   //a[0]='a';
         a[0]=0x00;
        a[1]='b';
   

   FILE* fd=NULL;
   fd=fopen("archivo.bla","wb");
   fprintf(fd,a);
   fclose(fd);
   return 0;
}

me gustaría tener a la salida un archivo que pesara 2bytes, sin embargo a la salida me encuentro con que no escribió nada en el archivo

el problema me surge porq estoy haciendo un compresor de archivo, la idea que tengo un buffer de n bytes  levantados de un archivo comprimido
tengo otro buffer donde voy guardando los bytes del archivo original (obtenidos al descomprimir los códigos de compresión de los bits contenidos en los bytes levantados del archivo)

por ejemplo: puedo levantar del archivo comprimido un byte= 10010111 y esto corresponderse a los bytes de los caracteres : az5 comprimidos, entonces en mi buffer de salida escribiría los caracteres az5 (en realidad sus bytes)
lo que me pasa es que cuando levanto una serie de bytes, que al descomprimirlo se corresponden con el byte=0x00, al poner esto en mi buffer de salida se pudre todo.
por el momento anda bien para archivos de texto el compresor, pero si paso un mp3, o una película nada me asegura que no haya en ese archivo 1 byte con valor 0 y eso al descomprimir me muere en realidad no lo escribe y bueno, obtengo cualquier cosa en la salida

No se si se entendió lo que quise decir, es complicado se claro con esto T_T jaja, espero me puedan dar una mano, y gracias desde ya ^^!

Páginas: [1]